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.
(PECL libevent >= 0.0.1)
event_set — Подготовить событие
Подготовить событие для использования в
event_add(). Событие подготовлено для вызова
функции заданной в параметре callback
для
типов событий, заданных в events
и
представляющих набор следующих флагов:
EV_TIMEOUT
, EV_SIGNAL
,
EV_READ
, EV_WRITE
и
EV_PERSIST
.
Если в events
установлен флаг
EV_SIGNAL
, то
fd
будет интерпритироваться как номер
сигнала.
После инициализации события используйте функцию event_base_set() для связи его с соответствующей событийной базой.
Если событие подпадает под заданные критерии, то будет вызвана
функция callback
с тремя параметрами:
fd
Номер сигнала или ресурс, определяющий поток.
events
Набор флагов, соответствующий событию:
EV_TIMEOUT
, EV_SIGNAL
,
EV_READ
, EV_WRITE
и EV_PERSIST
.
arg
Опциональный параметр, переданный ранее функции
event_set() в параметре arg
.
event
Корректный ресурс события.
fd
Корректный ресурс потока PHP. Должен уметь приводиться к файловому дескриптору, так что вы, скорее всего, не сможете использовать фильтрующие потоки.
events
Набор флагов, определяющих выбранное событие. Може быть
EV_READ
и/или EV_WRITE
.
Дополнительный флаг EV_PERSIST
делает
событие постоянным до того момента, пока не будет вызвана
функция event_del(). В противном случае
функция обратного вызова будет вызвана только один раз.
callback
Функция обратного вызова, которая будет вызвана для пишедшего события.
arg
Опциональные параметры, которые будут переданы в функцию обратного вызова.
event_set() возвращает TRUE
или FALSE
в зависимости от успешности завершения.
Версия | Описание |
---|---|
0.0.4 |
Добавлена поддержка EV_SIGNAL .
|
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.