OpenMPI  0.1.1
evmap-internal.h File Reference

An event_map is a utility structure to map each fd or signal to zero or more events. More...

Go to the source code of this file.

Functions

void evmap_io_initmap (struct event_io_map *ctx)
 Initialize an event_map for use.
 
void evmap_signal_initmap (struct event_signal_map *ctx)
 
void evmap_io_clear (struct event_io_map *ctx)
 Remove all entries from an event_map. More...
 
void evmap_signal_clear (struct event_signal_map *ctx)
 
int evmap_io_add (struct event_base *base, evutil_socket_t fd, struct event *ev)
 Add an IO event (some combination of EV_READ or EV_WRITE) to an event_base's list of events on a given file descriptor, and tell the underlying eventops about the fd if its state has changed. More...
 
int evmap_io_del (struct event_base *base, evutil_socket_t fd, struct event *ev)
 Remove an IO event (some combination of EV_READ or EV_WRITE) to an event_base's list of events on a given file descriptor, and tell the underlying eventops about the fd if its state has changed. More...
 
void evmap_io_active (struct event_base *base, evutil_socket_t fd, short events)
 Active the set of events waiting on an event_base for a given fd. More...
 
int evmap_signal_add (struct event_base *base, int signum, struct event *ev)
 
int evmap_signal_del (struct event_base *base, int signum, struct event *ev)
 
void evmap_signal_active (struct event_base *base, evutil_socket_t signum, int ncalls)
 
void * evmap_io_get_fdinfo (struct event_io_map *ctx, evutil_socket_t fd)
 

Detailed Description

An event_map is a utility structure to map each fd or signal to zero or more events.

Functions to manipulate event_maps should only be used from inside libevent. They generally need to hold the lock on the corresponding event_base.

Function Documentation

void evmap_io_active ( struct event_base base,
evutil_socket_t  fd,
short  events 
)

Active the set of events waiting on an event_base for a given fd.

Parameters
basethe event_base to operate on.
fdthe file descriptor that has become active.
eventsa bitmask of EV_READ|EV_WRITE|EV_ET.

References event_base::io.

int evmap_io_add ( struct event_base base,
evutil_socket_t  fd,
struct event ev 
)

Add an IO event (some combination of EV_READ or EV_WRITE) to an event_base's list of events on a given file descriptor, and tell the underlying eventops about the fd if its state has changed.

Requires that ev is not already added.

Parameters
basethe event_base to operate on.
fdthe file descriptor corresponding to ev.
evthe event to add.

References eventop::add, EV_ET, EV_READ, EV_WRITE, event_base::evsel, eventop::fdinfo_len, and event_base::io.

Referenced by event_reinit().

void evmap_io_clear ( struct event_io_map *  ctx)

Remove all entries from an event_map.

Parameters
ctxthe map to clear.

Referenced by event_base_free(), and event_reinit().

int evmap_io_del ( struct event_base base,
evutil_socket_t  fd,
struct event ev 
)

Remove an IO event (some combination of EV_READ or EV_WRITE) to an event_base's list of events on a given file descriptor, and tell the underlying eventops about the fd if its state has changed.

Parameters
basethe event_base to operate on.
fdthe file descriptor corresponding to ev.
evthe event to remove.

References eventop::del, EV_READ, EV_WRITE, event_base::evsel, and event_base::io.