# Retornos de chamada do observador

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:

function callback( object `$watcher` = NULL , int `$revents` = NULL ): void

`watcher`
  A instância do observador (de uma classe que estende EvWatcher).
`revents`
  Eventos recebidos pelo observador.

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`).

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open