(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
参数中设置。