在线文档教程
PHP
事件 | Event

Event (class)

Event 类

介绍

(PECL event >= 1.2.6-beta)

事件类表示正在准备读取或写入的文件描述符上的事件触发; 准备从文件描述符读取或写入(仅限边沿触发 I / O); 超时过期; 发生信号; 用户触发的事件

每个事件都与 EventBase 相关联。但是,事件将永远不会触发,直到它被添加(通过事件:: Add()方法)。在注册事件发生之前,添加的事件仍处于挂起状态,从而将其转为活动状态。要处理事件,用户可以注册一个在事件激活时调用的回调。如果事件被配置为持久性,它将保持挂起。如果它不是持久的,它在回调运行时会停止等待。Event :: del()方法删除事件,从而使其处于非挂起状态。通过 Event :: add()方法,可以再次添加它。

课程简介

final Event {

/* Constants */

const integer ET = 32 ;

const integer PERSIST = 16 ;

const integer READ = 2 ;

const integer WRITE = 4 ;

const integer SIGNAL = 8 ;

const integer TIMEOUT = 1 ;

/* Properties */

public readonly bool $ pending;

/* Methods */

public bool add ([ double $timeout ] )

public bool addSignal ([ double $timeout ] )

public bool addTimer ([ double $timeout ] )

public __construct ( EventBase $base , mixed $fd , int $what , callable $cb [, mixed $arg = NULL ] )

public bool del ( void )

public bool delSignal ( void )

public bool delTimer ( void )

public void free ( void )

public static array getSupportedMethods ( void )

public bool pending ( int $flags )

public bool set ( EventBase $base , mixed $fd [, int $what [, callable $cb [, mixed $arg ]]] )

public bool setPriority ( int $priority )

public bool setTimer ( EventBase $base , callable $cb [, mixed $arg ] )

public static Event signal ( EventBase $base , int $signum , callable $cb [, mixed $arg ] )

public static Event timer ( EventBase $base , callable $cb [, mixed $arg ] )

}

属性

等待

是否事件正在等待。请参阅关于事件持久性

预定义的常量

Event::ET

表示如果底层事件库后端支持边缘触发事件,则该事件应该是边缘触发的。这会影响的语义Event::READEvent::WRITE

Event::PERSIST

指示事件是持久的。请参阅关于事件持久性

Event::READ

该标志表示当提供的文件描述符(通常为流资源或套接字)准备好读取时变为活动状态的事件。

Event::WRITE

该标志表示当提供的文件描述符(通常为流资源或套接字)准备好读取时变为活动状态的事件。

Event::SIGNAL

用于执行信号检测。请参阅下面的“构建信号事件”。

Event::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 - 构造计时器事件对象

←构建信号事件

Event::add →