La classe EvCheck
EvCheck
&reftitle.intro;
Les observateurs EvPrepare et
EvCheck sont habituellement utilisés ensemble.
L'observateur EvPrepare sera appelé avant les
blocs du processus, alors que l'observateur EvCheck
sera appelé après.
Il n'est pas autorisé d'appeler la méthode EvLoop::run
ou une méthode/fonction similaire qui entre dans la boucle de l'événement
courante depuis soit l'observateur EvPrepare,
soit l'observateur EvCheck. Toutefois,
cela est possible pour toutes les autres boucles que la courante.
La cause de cela est qu'il n'est pas nécessaire de vérifier la récursion
dans ces observateurs, c.-à-d. la séquence suivante sera toujours :
EvPrepare -> blocage -> EvCheck,
aussi, avoir un observateur pour chacun n'est pas utile, sachant qu'ils seront toujours appelés
ensemble lors de l'appel au blocage.
Le but primaire est d'intégrer d'autres mécanismes d'événements dans
la bibliothèque libev, avec une utilisation avancée.
Ils peuvent être utilisés, par exemple, pour surveiller les modifications
de variables, implémenter des observateurs personnalisés, intégrer net-snmp
ou une bibliothèque supplémentaire, et bien plus encore. Ils peuvent être aussi
utiles pour mettre en cache des données, et vouloir les afficher après
le blocage.
Il est recommandé de fournir une priorité haute à EvCheck
(Ev::MAXPRI) afin de s'assurer qu'il sera exécuté
avant tout autre observateur de la file (à contrario, peu importe pour
l'observateur EvPrepare).
De plus, les observateurs EvCheck ne doivent pas
activer/alimenter des événements. Bien que libev
supporte cela, ils peuvent être exécutés avant que les autres observateurs
EvCheck ne terminent leurs travaux.
&reftitle.classsynopsis;
EvCheck
EvCheck
extends
EvWatcher
&InheritedProperties;
&Methods;
&InheritedMethods;
&reference.ev.entities.evcheck;