Sha256: cad8259b50191e84fdb58f08ede3d5cfee136800c9d014ec4bc0af2f6d246b24

Contents?: true

Size: 830 Bytes

Versions: 3

Compression:

Stored size: 830 Bytes

Contents

/*
 * Copyright (C) 2007 Tony Arcieri
 * You may redistribute this under the terms of the Ruby license.
 * See LICENSE for details
 */

#ifndef REV_H
#define REV_H

#include "ruby.h"
#include "rubyio.h"

#if HAVE_RB_IO_T
#define FPTR_TO_FD(fptr) fptr->fd
#else
#define FPTR_TO_FD(fptr) fileno(fptr->f)
#endif

struct Rev_Event
{
  /* These values are used to extract events from libev callbacks */
  VALUE watcher;
  int revents;
};

struct Rev_Loop 
{
  struct ev_loop *ev_loop;

  int running;
  int events_received;
  int eventbuf_size;
  struct Rev_Event *eventbuf;
};

struct Rev_Watcher
{
  union {
    struct ev_io ev_io;
    struct ev_timer ev_timer;
  } event_types;

  int enabled;
  VALUE loop;

  void (*dispatch_callback)(VALUE self, int revents);
};

void Rev_Loop_process_event(VALUE watcher, int revents);

#endif

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rev-0.2.2 ext/rev/rev.h
rev-0.2.1 ext/rev/rev.h
rev-0.2.0 ext/rev/rev.h