PHP 8.6.0 Beta 1 is available for testing

О постоянных событиях

По умолчанию, событие в статусе ожидания становится активным, когда файловый дескриптор события становится доступен для записи или чтения, или истёк период ожидания. Статус ожидания снимается с события непосредственно перед запуском callback-функции события. Поэтому из callback-функции события на событии вызывают метод Event::add() , чтобы снова перевести событие в статус ожидания.

Событие становится постоянным, если на событии установили флаг Event::PERSIST . Это означает, что событие остаётся в статусе ожидания, даже если запущена callback-функция события. Флаг постоянного снимают с события путём вызова на событии метода Event::del() .

Время ожидания постоянного события сбрасывается каждый раз, когда запускается callback-функция события. Поэтому, если для события установили флаги Event::READ | Event::PERSIST и время ожидания равно 5 секундам, событие станет активно в следующих случаях:

  1. Каждый раз, когда сокет или дескриптор файла готов к чтению.

  2. Каждый раз, когда прошли пять секунд с момента последнего события.

Дополнительную информацию даёт раздел «» Быстрое переносимое неблокирующее сетевое программирование с Libevent, о постоянных событиях».

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /