所有观察器可以处于活动状态(等待事件)或非活动状态(暂停)。只有活动观察器才会调用其回调。所有回调将至少使用两个参数调用:watcher
- 观察器,以及 revents
收到的事件的位掩码。
Watcher 回调传递给观察器构造函数(从 EvWatcher 派生的类 - EvCheck::__construct() 、EvChild::__construct() 等)。Watcher 回调应与以下原型匹配
每个观察器类型在 revents
中都有其关联的位,因此可以使用相同的回调来处理多个观察器。事件掩码以类型命名,例如 EvChild(或 EvLoop::child() )设置 Ev::CHILD
,EvPrepare(或 EvLoop::prepare() )设置 Ev::PREPARE
,EvPeriodic(或 EvLoop::periodic() )设置 Ev::PERIODIC
等等,除了 I/O 事件(它们可以设置 Ev::READ
和 Ev::WRITE
位)。