event_set
(PECL libevent >= 0.0.1)
event_set — Prepare an event
Description
Prepares the event to be used in event_add(). The event
is prepared to call the function specified by the callback
on the events specified in parameter events
, which
is a set of the following flags: EV_TIMEOUT
,
EV_SIGNAL
, EV_READ
,
EV_WRITE
and EV_PERSIST
.
If EV_SIGNAL
bit is set in parameter events
,
the fd
is interpreted as signal number.
After initializing the event, use event_base_set() to associate the event with its event base.
In case of matching event, these three arguments are passed to the
callback
function:
-
fd
-
Signal number or resource indicating the stream.
-
events
-
A flag indicating the event. Consists of the following flags:
EV_TIMEOUT
,EV_SIGNAL
,EV_READ
,EV_WRITE
andEV_PERSIST
. -
arg
-
Optional parameter, previously passed to event_set() as
arg
.
Parameters
-
event
-
Valid event resource.
-
fd
-
Valid PHP stream resource. The stream must be castable to file descriptor, so you most likely won't be able to use any of filtered streams.
-
events
-
A set of flags indicating the desired event, can be
EV_READ
and/orEV_WRITE
. The additional flagEV_PERSIST
makes the event to persist until event_del() is called, otherwise the callback is invoked only once. -
callback
-
Callback function to be called when the matching event occurs.
-
arg
-
Optional callback parameter.
Return Values
event_set() returns TRUE
on success or FALSE
on error.
Changelog
Version | Description |
---|---|
0.0.4 |
EV_SIGNAL support was added.
|
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для управления процессами программ
- Libevent
- event_add
- event_base_free
- event_base_loop
- event_base_loopbreak
- event_base_loopexit
- event_base_new
- event_base_priority_init
- event_base_reinit
- event_base_set
- event_buffer_base_set
- event_buffer_disable
- event_buffer_enable
- event_buffer_fd_set
- event_buffer_free
- event_buffer_new
- event_buffer_priority_set
- event_buffer_read
- event_buffer_set_callback
- event_buffer_timeout_set
- event_buffer_watermark_set
- event_buffer_write
- event_del
- event_free
- event_new
- event_priority_set
- event_set
- event_timer_add
- event_timer_del
- event_timer_new
- event_timer_set
Коментарии
If you change your event with event_set() libevent will forget which base your event belongs to. You must call event_base_set() again *before* calling event_add() on it.