PHP 8.6.0 Beta 1 is available for testing

Класс Event

(PECL event >= 1.2.6-beta)

Введение

Класс Event представляет и срабатывает на следующие события: файловый дескриптор готов к считыванию или записи; становится готов к считыванию или записи (только edge-triggered I/O (единовременное срабатывание)); заканчивается ожидание; получен системный сигнал; произошло пользовательское событие.

Каждое событие связано с объектом EventBase . Однако событие не обработается, пока событие не добавят методом Event::add() . Добавленное событие пребывает в статусе ожидания pending, пока оно не произошло. После этого событие переходит в статус active. Для обработки событий пользователь регистрирует функцию обратного вызова, которая вызывается в момент перехода события в активный статус. Событие вернётся в статус ожидания, если событие настроили со статусом persistent. После запуска callback-функции событие выйдет из режима ожидания, если не пребывает в статусе постоянноянного. Метод Event::del() удаляет событие из отслеживаемых и поэтому выводит событие из статуса ожидания. Событие добавляют повторно вызовом метода Event::add() .

Обзор класса

final class Event {
/* Константы */
const int ET = 32;
const int PERSIST = 16;
const int READ = 2;
const int WRITE = 4;
const int SIGNAL = 8;
const int TIMEOUT = 1;
/* Свойства */
public readonly bool $pending ;
/* Методы */
public function add ( float $timeout = ?): bool
public function __construct (
EventBase $base ,
mixed $fd ,
int $what ,
callable $cb ,
mixed $arg = NULL
)
public function del (): bool
public function free (): void
public static function getSupportedMethods (): array
public function pending ( int $flags ): bool
public function set (
EventBase $base ,
mixed $fd ,
int $what = ?,
callable $cb = ?,
mixed $arg = ?
): bool
public function setPriority ( int $priority ): bool
public function setTimer ( EventBase $base , callable $cb , mixed $arg = ?): bool
public static function signal (
EventBase $base ,
int $signum ,
callable $cb ,
mixed $arg = ?
): Event
public static function timer ( EventBase $base , callable $cb , mixed $arg = ?): Event
}

Свойства

pending

Указывает, пребывает ли событие в состоянии ожидания. Смотрите страницу «О постоянных событиях».

Предопределённые константы

Event::ET

Указывает, что событие срабатывает по фронту (англ. edge-triggered) — генерируется один раз при изменении статуса, если базовый сервер событий поддерживает такое поведение. Это влияет на семантику флагов Event::READ и Event::WRITE .

Event::PERSIST

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

Event::READ

Флаг указывает событие, которое становится активным, когда предоставленный файл — часто потоковый ресурс или сокет — готов к чтению.

Event::WRITE
Флаг указывает событие, которое становится активным, когда предоставленный файл — часто потоковый ресурс или сокет — готов к записи.
Event::SIGNAL

Флаг указывают, чтобы реализовать отслеживание системных сигналов. Дополнительную информацию даёт страница «Создание событий для сигналов».

Event::TIMEOUT

Флаг указывает, что активировалось событие по истечению времени ожидания.

Флаг Event::TIMEOUT игнорируется при создании события: флаг устанавливают при добавлении. Флаг указывают в аргументе $what функции обратного вызова, если произошло событие этого типа.

Содержание

  • Event::add — Перевести событие в состояние ожидания
  • Event::addSignal — Псевдоним Event::add
  • Event::addTimer — Псевдоним Event::add
  • Event::__construct — Создаёт объект Event
  • Event::del — Перевести событие в пассивное состояние
  • Event::delSignal — Псевдоним Event::del
  • Event::delTimer — Псевдоним Event::del
  • Event::free — Переводит событие в пассивное состояние и высвобождает все выделенные для события ресурсы
  • Event::getSupportedMethods — Получить массив с именами методов, поддерживаемых в текущей версии Libevent
  • Event::pending — Проверяет, пребывает ли событие в состоянии ожидания, или что событие запланировали
  • Event::set — Переконфигурирует событие
  • Event::setPriority — Задать приоритет событию
  • Event::setTimer — Переконфигурирует событие таймера
  • Event::signal — Создаёт объект события сигнала
  • Event::timer — Создаёт объект события таймера

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

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

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

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

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