#include <event-config.h>
#include <sys/types.h>
#include <sys/time.h>
#include <event2/util.h>
Go to the source code of this file.
Defines | |
| #define | signal_add(ev, tv) event_add(ev, tv) |
| #define | signal_assign(ev, b, x, cb, arg) event_assign(ev, b, x, EV_SIGNAL|EV_PERSIST, cb, arg) |
| #define | signal_del(ev) event_del(ev) |
| #define | signal_initialized(ev) _event_initialized((ev), 0) |
| #define | signal_new(b, x, cb, arg) event_new(b, x, EV_SIGNAL|EV_PERSIST, cb, arg) |
| #define | signal_pending(ev, tv) event_pending(ev, EV_SIGNAL, tv) |
| #define | signal_set(ev, x, cb, arg) event_set(ev, x, EV_SIGNAL|EV_PERSIST, cb, arg) |
| #define | timeout_add(ev, tv) event_add(ev, tv) |
| Add a timeout event. | |
| #define | timeout_del(ev) event_del(ev) |
| Disable a timeout event. | |
| #define | timeout_initialized(ev) _event_initialized((ev), 0) |
| #define | timeout_pending(ev, tv) event_pending(ev, EV_TIMEOUT, tv) |
| #define | timeout_set(ev, cb, arg) event_set(ev, -1, 0, cb, arg) |
| Define a timeout event. | |
Functions | |
| int | event_dispatch (void) |
| Loop to process events. | |
| const char * | event_get_method (void) |
| Get the kernel event notification mechanism used by libevent. | |
| struct event_base * | event_init (void) |
| Initialize the event API. | |
| int | event_loop (int) |
| Handle events. | |
| int | event_loopbreak (void) |
| Abort the active event_loop() immediately. | |
| int | event_loopexit (const struct timeval *) |
| Exit the event loop after the specified time. | |
| int | event_once (evutil_socket_t, short, void(*)(evutil_socket_t, short, void *), void *, const struct timeval *) |
| Schedule a one-time event to occur. | |
| int | event_priority_init (int) |
| Set the number of different event priorities. | |
| #define signal_add | ( | ev, | |||
| tv | ) | event_add(ev, tv) |
| #define signal_assign | ( | ev, | |||
| b, | |||||
| x, | |||||
| cb, | |||||
| arg | ) | event_assign(ev, b, x, EV_SIGNAL|EV_PERSIST, cb, arg) |
| #define signal_del | ( | ev | ) | event_del(ev) |
| #define signal_initialized | ( | ev | ) | _event_initialized((ev), 0) |
| #define signal_new | ( | b, | |||
| x, | |||||
| cb, | |||||
| arg | ) | event_new(b, x, EV_SIGNAL|EV_PERSIST, cb, arg) |
| #define signal_pending | ( | ev, | |||
| tv | ) | event_pending(ev, EV_SIGNAL, tv) |
| #define signal_set | ( | ev, | |||
| x, | |||||
| cb, | |||||
| arg | ) | event_set(ev, x, EV_SIGNAL|EV_PERSIST, cb, arg) |
| #define timeout_add | ( | ev, | |||
| tv | ) | event_add(ev, tv) |
Add a timeout event.
| ev | the event struct to be disabled | |
| tv | the timeout value, in seconds |
| #define timeout_del | ( | ev | ) | event_del(ev) |
Disable a timeout event.
| ev | the timeout event to be disabled |
| #define timeout_initialized | ( | ev | ) | _event_initialized((ev), 0) |
| #define timeout_pending | ( | ev, | |||
| tv | ) | event_pending(ev, EV_TIMEOUT, tv) |
| #define timeout_set | ( | ev, | |||
| cb, | |||||
| arg | ) | event_set(ev, -1, 0, cb, arg) |
Define a timeout event.
| ev | the event struct to be defined | |
| cb | the callback to be invoked when the timeout expires | |
| arg | the argument to be passed to the callback |
| int event_dispatch | ( | void | ) |
Loop to process events.
In order to process events, an application needs to call event_dispatch(). This function only returns on error, and should replace the event core of the application program.
| const char* event_get_method | ( | void | ) |
Get the kernel event notification mechanism used by libevent.
| struct event_base* event_init | ( | void | ) | [read] |
Initialize the event API.
The event API needs to be initialized with event_init() before it can be used. Sets the current_base global representing the default base for events that have no base associated with them.
| int event_loop | ( | int | ) |
Handle events.
This is a more flexible version of event_dispatch().
| flags | any combination of EVLOOP_ONCE | EVLOOP_NONBLOCK |
| int event_loopbreak | ( | void | ) |
Abort the active event_loop() immediately.
event_loop() will abort the loop after the next event is completed; event_loopbreak() is typically invoked from this event's callback. This behavior is analogous to the "break;" statement.
Subsequent invocations of event_loop() will proceed normally.
| int event_loopexit | ( | const struct timeval * | ) |
Exit the event loop after the specified time.
The next event_loop() iteration after the given timer expires will complete normally (handling all queued events) then exit without blocking for events again.
Subsequent invocations of event_loop() will proceed normally.
| tv | the amount of time after which the loop should terminate. |
| int event_once | ( | evutil_socket_t | , | |
| short | , | |||
| void(*)(evutil_socket_t, short, void *) | , | |||
| void * | , | |||
| const struct timeval * | ||||
| ) |
Schedule a one-time event to occur.
The function event_once() is similar to event_set(). However, it schedules a callback to be called exactly once and does not require the caller to prepare an event structure.
| fd | a file descriptor to monitor | |
| events | event(s) to monitor; can be any of EV_TIMEOUT | EV_READ | EV_WRITE | |
| callback | callback function to be invoked when the event occurs | |
| arg | an argument to be passed to the callback function | |
| timeout | the maximum amount of time to wait for the event, or NULL to wait forever |
| int event_priority_init | ( | int | ) |
Set the number of different event priorities.
By default libevent schedules all active events with the same priority. However, some time it is desirable to process some events with a higher priority than others. For that reason, libevent supports strict priority queues. Active events with a lower priority are always processed before events with a higher priority.
The number of different priorities can be set initially with the event_priority_init() function. This function should be called before the first call to event_dispatch(). The event_priority_set() function can be used to assign a priority to an event. By default, libevent assigns the middle priority to all events unless their priority is explicitly set.
| npriorities | the maximum number of priorities |
1.5.7