Files
doc-fr/reference/ev/evcheck.xml
2024-06-14 17:01:42 +01:00

109 lines
4.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 33e5f4ef7243bc1282acb1cba93e8f99c1debe68 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<reference xml:id="class.evcheck" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>La classe EvCheck</title>
<titleabbrev>EvCheck</titleabbrev>
<partintro>
<!-- {{{ EvCheck intro -->
<section xml:id="evcheck.intro">
&reftitle.intro;
<para>
Les observateurs <classname>EvPrepare</classname> et
<classname>EvCheck</classname> sont habituellement utilisés ensemble.
L'observateur <classname>EvPrepare</classname> sera appelé avant les
blocs du processus, alors que l'observateur <classname>EvCheck</classname>
sera appelé après.
</para>
<para>
Il n'est pas autorisé d'appeler la méthode <methodname>EvLoop::run</methodname>
ou une méthode/fonction similaire qui entre dans la boucle de l'événement
courante depuis soit l'observateur <classname>EvPrepare</classname>,
soit l'observateur <classname>EvCheck</classname>. 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, i.e. la séquence suivante sera toujours :
<classname>EvPrepare</classname> -&gt; blocage -&gt; <classname>EvCheck</classname>,
aussi, avoir un observateur pour chacun n'est pas utile, sachant qu'ils seront toujours appelés
ensemble lors de l'appel au blocage.
</para>
<para>
Le but primaire est d'intégrer d'autres mécanismes d'événements dans
la bibliothèque <emphasis>libev</emphasis>, 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.
</para>
<para>
Il est recommandé de fournir une priorité haute à <classname>EvCheck</classname>
(<constant>Ev::MAXPRI</constant>) afin de s'assurer qu'il sera exécuté
avant tout autre observateur de la file (à contrario, peu importe pour
l'observateur <classname>EvPrepare</classname>).
</para>
<para>
De plus, les observateurs <classname>EvCheck</classname> ne doivent pas
activer/alimenter des événements. Bien que <emphasis>libev</emphasis>
supporte cela, ils peuvent être exécutés avant que les autres observateurs
<classname>EvCheck</classname> ne terminent leur travaux.
</para>
</section>
<!-- }}} -->
<section xml:id="evcheck.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass>
<classname>EvCheck</classname>
</ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>EvCheck</classname>
</ooclass>
<ooclass>
<modifier>extends</modifier>
<classname>EvWatcher</classname>
</ooclass>
</classsynopsisinfo>
<!-- }}} -->
<!--<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>-->
<classsynopsisinfo role="comment">&InheritedProperties;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('evwatcher.synopsis')/descendant::db:fieldsynopsis)" />
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evcheck')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[not(@role='procedural')])"/>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evcheck')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])"/>
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evwatcher')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
</classsynopsis>
<!-- }}} -->
</section>
</partintro>
&reference.ev.entities.evcheck;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->