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