Класс EventEvent
&reftitle.intro;
Класс Event представляет
и срабатывает на следующие события:
файловый дескриптор
готов к чтению или записи; становится готов
к чтению или записи (только edge-triggered I/O
(единовременное срабатывание)); заканчивается
ожидание; получен системный сигнал;
произошло пользовательское событие.
Каждое событие связано с
EventBase.
Однако событие не будет обработано, пока не будет
добавлено с помощью
метода Event::add.
Добавленное событие находится в статусе ожидания
pending, пока оно
не произошло. После этого оно переходит в статус
активно (active). Для обработки
событий пользователь может зарегистрировать функцию
обратного вызова, которая будет вызвана в момент
перехода события в активный статус. Если событие
настроено как постоянное (persistent),
оно вернётся в статус ожидания. Если оно не
постоянное, то оно выйдет из режима ожидания
после запуска функции обратного вызова.
Метод
Event::delудаляет, соответственно
выводя его из статуса ожидания. Добавить его
заново можно методом
Event::add.
&reftitle.classsynopsis;
EventfinalEvent&Constants;constintEvent::ET32constintEvent::PERSIST16constintEvent::READ2constintEvent::WRITE4constintEvent::SIGNAL8constintEvent::TIMEOUT1&Properties;publicreadonlyboolpending&Methods;
&reftitle.properties;
pending
Обозначает, что событие в состоянии ожидания. Смотрите
О постоянных событиях
.
&reftitle.constants;
Event::ET
Означает, что событие должно срабатывать один раз
при изменении статуса (edge-triggered), если
используемый бекенд поддерживает такое поведение.
Это влияет на семантику
Event::READ
и
Event::WRITE
.
Event::PERSIST
Обозначает, что событие постоянное. Смотрите
О постоянных событиях
.
Event::READ
Этот флаг указывает событие, которое становится
активным, когда предоставленный файл (обычно
потоковый ресурс или сокет) готов к чтению.
Event::WRITE
Этот флаг указывает событие, которое становится
активным, когда предоставленный файл (обычно
потоковый ресурс или сокет) готов к записи.
Event::SIGNAL
Используется для реализации отслеживания
системных сигналов. Смотрите "Создание событий
для сигналов" ниже.
Event::TIMEOUT
Флаг означает, что активировалось событие по
истечению ожидания (timeout).
Флаг
Event::TIMEOUT
игнорируется при создании события: его можно
установить при добавлении.
Он задаётся в аргументе
$what функции обратного
вызова, если произошло событие этого типа.
&reference.event.entities.event;