(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
функции обратного вызова, если произошло событие этого типа.