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::READ
和Event::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 →