La classe EventEvent
&reftitle.intro;
La classe Event représente et lance un événement
sur un descripteur de fichier devenu prêt pour une lecture ou une écriture ;
un descripteur de fichier devient prêt pour une lecture ou une écriture
(I/O uniquement) ; un délai d'attente expiré ; un signal survenant ;
un événement lancé par l'utilisateur.
Chaque événement est associé avec un EventBase.
Cependant, l'événement ne sera jamais lancé tant qu'il n'a pas été
ajouté (via la méthode Event::add).
Un événement ajouté reste dans un staut d'attente
tant que l'événement enregistré ne survient pas, le passant ainsi en
statut actif. Pour gérer les événements, l'utilisateur
doit enregistrer une fonction de rappel qui sera appelée lorsque l'événement
devient actif. Si l'événement est configuré comme persistent,
il restera en attente. S'il n'est pas persistent, il ne sera plus en attente
lorsque sa fonction de rappel sera exécutée. La méthode Event::delsupprime l'événement, il n'est alors plus en attente.
En appelant la méthode Event::add, il sera ajouté
de nouveau.
&reftitle.classsynopsis;
EventfinalEventConstantesconstintEvent::ET32constintEvent::PERSIST16constintEvent::READ2constintEvent::WRITE4constintEvent::SIGNAL8constintEvent::TIMEOUT1&Properties;publicreadonlyboolpending&Methods;
&reftitle.properties;
pending
Si l'événement est en attente. Voir la section :
A propos de la persistence des événements.
&reftitle.constants;
Event::ET
Indique que l'événement doit être lancé, si la base d'événement
sous-jacente supporte ce type d'événement. Ceci affecte la sémantique
de Event::READ et de Event::WRITE.
Event::PERSIST
Indique que l'événement est persistent. Voir la section :
A propos de la persistence des événements.
Event::READ
Ce drapeau indique qu'un événement devient actif lorsque le descripteur
de fichier fourni (habituellement, une ressource de flux ou un socket)
est prêt pour une lecture.
Event::WRITE
Ce drapeau indique qu'un événement devient actif lorsque le descripteur
de fichier fourni (habituellement, une ressource de flux ou un socket)
est prêt pour une écriture.
Event::SIGNAL
Utilisé pour implémenter une détection de signal. Voir la section ci-dessous
sur la construction d'un événement de type signal.
Event::TIMEOUT
Ce drapeau indique qu'un événement devient actif après l'expiration
de ce délai d'attente maximal.
Le drapeau Event::TIMEOUT est ignoré lors de la
construction d'un événement : il peut être indiqué ou non lors de
l'ajout de l'événement. Il doit être défini dans
l'argument $what de la fonction de rappel
lorsqu'un délai d'attente maximal est survenu.
&reference.event.entities.event;