Класс Event Event
&reftitle.intro; Класс Event представляет и срабатывает на следующие события: файловый дескриптор готов к чтению или записи; становится готов к чтению или записи (только edge-triggered I/O (единовременное срабатывание)); заканчивается ожидание; получен системный сигнал; произошло пользовательское событие. Каждое событие связано с EventBase. Однако событие не будет обработано, пока не будет добавлено с помощью метода Event::add. Добавленное событие находится в статусе ожидания pending, пока оно не произошло. После этого оно переходит в статус активно (active). Для обработки событий пользователь может зарегистрировать функцию обратного вызова, которая будет вызвана в момент перехода события в активный статус. Если событие настроено как постоянное (persistent), оно вернётся в статус ожидания. Если оно не постоянное, то оно выйдет из режима ожидания после запуска функции обратного вызова. Метод Event::del удаляет, соответственно выводя его из статуса ожидания. Добавить его заново можно методом Event::add.
&reftitle.classsynopsis; Event final Event &Constants; const int Event::ET 32 const int Event::PERSIST 16 const int Event::READ 2 const int Event::WRITE 4 const int Event::SIGNAL 8 const int Event::TIMEOUT 1 &Properties; public readonly bool pending &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;