(PECL event >= 1.2.6-beta)
Класс Event представляет и срабатывает на следующие события: файловый дескриптор готов к чтению или записи; становится готов к чтению или записи (только edge-triggered I/O (единовременное срабатывание)); заканчивается ожидание; получен системный сигнал; произошло пользовательское событие.
Каждое событие связано с EventBase. Однако событие не будет обработано, пока не будет добавлено с помощью метода Event::add(). Добавленное событие находится в статусе ожидания pending, пока оно не произошло. После этого оно переходит в статус активно (active). Для обработки событий пользователь может зарегистрировать функцию обратного вызова, которая будет вызвана в момент перехода события в активный статус. Если событие настроено как постоянное (persistent), оно вернётся в статус ожидания. Если оно не постоянное, то оно выйдет из режима ожидания после запуска функции обратного вызова. Метод Event::del() удаляет, соответственно выводя его из статуса ожидания. Добавить его заново можно методом Event::add().
Обозначает, что событие в состоянии ожидания. Смотрите О постоянных событиях .
Event::ET
Означает, что событие должно срабатывать один раз
при изменении статуса (edge-triggered), если
используемый бекенд поддерживает такое поведение.
Это влияет на семантику
Event::READ
и
Event::WRITE
.
Event::PERSIST
Обозначает, что событие постоянное. Смотрите О постоянных событиях .
Event::READ
Этот флаг указывает событие, которое становится активным, когда предоставленный файл (обычно потоковый ресурс или сокет) готов к чтению.
Event::WRITE
Этот флаг указывает событие, которое становится активным, когда предоставленный файл (обычно потоковый ресурс или сокет) готов к записи.
Event::SIGNAL
Используется для реализации отслеживания системных сигналов. Смотрите "Создание событий для сигналов" ниже.
Event::TIMEOUT
Флаг означает, что активировалось событие по истечению ожидания (timeout).
Флаг
Event::TIMEOUT
игнорируется при создании события: его можно
установить при добавлении.
Он задаётся в аргументе
$what
функции обратного
вызова, если произошло событие этого типа.