Files
doc-fr/reference/ev/watcher-callbacks.xml
2019-07-16 17:32:29 +00:00

97 lines
3.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 708c4884f2400b7f788b728ea2fa73ea8aa789bb Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="ev.watcher-callbacks" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Les fonctions de rappel d'un Watcher</title>
<para>
Tous les watchers peuvent être actifs (en attente d'événements) ou inactifs
(en pause). Seuls les watchers actifs peuvent avoir leurs fonctions de rappel
d'appelées. Toutes les fonctions de rappel seront appelées avec au moins deux
arguments :
<parameter>watcher</parameter> - le watcher, et <parameter>revents</parameter>,
un masque d'événements reçus.
</para>
<para>
Les fonctions de rappel des watchers sont passées aux constructeurs des watchers
(une classe dérivée de <classname>EvWatcher</classname> -
<methodname>EvCheck::__construct</methodname>, <methodname>EvChild::__construct</methodname>
etc.). Une fonction de rappel d'un watcher doit correspondre au prototype suivant :
</para>
<methodsynopsis>
<type>void</type>
<methodname>callback</methodname>
<methodparam
choice="opt">
<type>object</type>
<parameter>watcher</parameter>
<initializer>NULL</initializer>
</methodparam>
<methodparam
choice="opt">
<type>int</type>
<parameter>revents</parameter>
<initializer>NULL</initializer>
</methodparam>
</methodsynopsis>
<para>
<variablelist>
<varlistentry>
<term>
<parameter>watcher</parameter>
</term>
<listitem>
<para>
L'instance du watcher (d'une classe étendant <classname>EvWatcher</classname>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>revents</parameter>
</term>
<listitem>
<para>
<link linkend="ev.constants.watcher-revents">Un watcher recevant les événements</link>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
Chaque type de watcher a un octet d'associé dans
<parameter>revents</parameter>, aussi, on peut utiliser la même
fonction de rappel pour plusieurs watchers. Le masque d'événements
est nommé après le type, i.e.
<classname>EvChild</classname> (ou <methodname>EvLoop::child</methodname>) définit
<constant>EV::CHILD</constant>, <classname>EvPrepare</classname> (ou
<methodname>EvLoop::prepare</methodname>) définit <constant>Ev::PREPARE</constant>,
<classname>EvPeriodic</classname> (ou <methodname>EvLoop::periodic</methodname>)
définit <constant>Ev::PERIODIC</constant> et ainsi de suite, avec comme exception les
événements I/O (qui peuvent définir à la fois les octets
<constant>Ev::READ</constant> et <constant>Ev::WRITE</constant>).
</para>
</chapter>
<!-- 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
-->