All watchers can be active(waiting for events) or inactive(paused). Only
active watchers will have their callbacks invoked. All callbacks will be
called with at least two arguments:
watcher
- the watcher, and
revents
a bitmask of received events.
Watcher callbacks are passed to the watcher constructors (the classes derived from EvWatcher - EvCheck::__construct() , EvChild::__construct() etc.). A watcher callback should match the following prototype:
watcher
The watcher instance(of a class extending EvWatcher ).
revents
Each watcher type has its associated bit in
revents
, so one can use the same callback for multiple watchers. The event mask is
named after the type, i.e.
EvChild
(or
EvLoop::child()
) sets
EV::CHILD
,
EvPrepare
(or
EvLoop::prepare()
) sets
Ev::PREPARE
,
EvPeriodic
(or
EvLoop::periodic()
) sets
Ev::PERIODIC
and so on, with the exception of I/O events (which can set both
Ev::READ
and
Ev::WRITE
bits).