(PECL event >= 1.2.6-beta)
Event 类表示文件描述符准备读取或写入时触发的事件;文件描述符准备读取或写入时(仅限边沿触发 I/O);超时到期;信号发生;用户触发的事件。
每个事件都与 EventBase 关联。但是,事件只有在被添加(通过 Event::add())后才会触发。添加的事件处于待处理状态,直到注册的事件发生,从而使其变为活动状态。为了处理事件,用户可以注册回调函数,该函数在事件变为活动状态时被调用。如果事件被配置为持久的,它将保持待处理状态。如果不是持久性的,它将在其回调函数运行时停止待处理。 Event::del() 方法删除事件,使其不再处于待处理状态。通过 Event::add() 方法可以再次添加它。
事件是否处于待处理状态。请参见关于事件持久性。
Event::ET
表示事件应该是边沿触发的,如果底层事件基础后端支持边沿触发事件。这会影响Event::READ
和Event::WRITE
的语义。
Event::PERSIST
表示事件是持久的。请参见关于事件持久性。
Event::READ
此标志表示当提供的文件描述符(通常是流资源或套接字)准备读取时变为活动的事件。
Event::WRITE
此标志表示当提供的文件描述符(通常是流资源或套接字)准备读取时变为活动的事件。
Event::SIGNAL
用于实现信号检测。请参见下面的“构建信号事件”。
Event::TIMEOUT
此标志表示在超时到期后变为活动的事件。
Event::TIMEOUT
标志在构建事件时被忽略:可以在添加事件时设置超时,也可以不设置。如果超时发生,它在回调函数的$what
参数中设置。