# La classe EvWatcher

(PECL ev >= 0.2.0)

## Introduction

La classe EvWatcher est une classe de base pour tous les watchers(EvCheck, EvChild etc.). Vu que le constructeur de la classe EvWatcher est abstrait, on ne peut pas (et on ne doit pas) créer des objets EvWatcher directement.

## Synopsis de la classe

abstract EvWatcher {
/* Propriétés */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Méthodes */
public clear ( void ) : int
abstract public __construct ( void )
public feed ( int `$revents` ) : void
public getLoop ( void ) : EvLoop
public invoke ( int `$revents` ) : void
public keepalive ([ bool `$value` ] ) : bool
public setCallback ( callable `$callback` ) : void
public start ( void ) : void
public stop ( void ) : void
}

## Propriétés

is_active

  En lecture seule. `TRUE` si le watcher est actif, `FALSE` sinon.

data

  Données utilisateur personnalisées associées avec le watcher

is_pending

  En lecture seule. Si le watcher est en attente, i.e. si le watcher a des événements en attente, mais que sa fonction de rappel n'a pas encore été appelée, `FALSE` sinon. Tant que le watcher est en attente (mais non actif), un autre ne peut pas modifier ses priorités.

priority

  Integer Intervalle de `Ev::MINPRI` et `Ev::MAXPRI`. Les watchers en attente avec une priorité haute seront appelées avant les watchers avec une priorité basse, mais la priorité ne peut pas faire qu'un watcher ne sera jamais exécuté (sauf pour les watchers EvIdle). Les watchers EvIdle fournissent des fonctionalités permettant de supprimer l'invocation lorsque des événements ayant une priorité plus élevée sont en attente.

## Sommaire

- EvWatcher::clear — Efface le statut d'attente de l'observateur
- EvWatcher::__construct — Constructeur d'objet observateur
- EvWatcher::feed — Alimente les revents fournis dans la boucle d'événements
- EvWatcher::getLoop — Retourne la boucle responsable de l'observateur
- EvWatcher::invoke — Invoque la fonction de rappel de l'observateur avec le masque de bits des événements reçus fournis
- EvWatcher::keepalive — Garde la boucle active
- EvWatcher::setCallback — Définit une nouvelle fonction de rappel pour le watcher
- EvWatcher::start — Démarre le Watcher
- EvWatcher::stop — Arrête le Watcher