Todos os observadores podem estar ativos (aguardando eventos) ou inativos (pausados). Somente
observadores ativos terão seus retornos de chamada invocados. Todos os retornos de chamada serão
chamados com pelo menos dois argumentos:
watcher
- o observador e
revents
uma máscara de bits de eventos recebidos.
Os retornos de chamada do observador são passados para os construtores do inspetor (as classes derivadas de EvWatcher - EvCheck::__construct() , EvChild::__construct() etc.). Um retorno de chamada do observador deve corresponder ao seguinte protótipo:
watcher
A instância do observador (de uma classe que estende EvWatcher ).
revents
Cada tipo de observador tem seu bit associado em
revents
,
portanto, pode-se usar o mesmo retorno de chamada para vários observadores. A máscara de evento é
nomeada de acordo com o tipo, ou seja,
EvChild
(ou
EvLoop::child()
) define
EV::CHILD
,
EvPrepare
(ou
EvLoop::prepare()
) define
Ev::PREPARE
,
EvPeriodic
(ou
EvLoop::periodic()
) define
Ev::PERIODIC
e assim por diante, com exceção de eventos de E/S (que podem definir ambos
os bits
Ev::READ
e
Ev::WRITE
).