La classe Event
(PECL event >= 1.2.6-beta)
Introduction
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::del() supprime l'événement, il n'est alors plus en attente. En appelant la méthode Event::add(), il sera ajouté de nouveau.
Synopsis de la classe
$base
,
mixed
$fd
,
int
$what
,
callable
$cb
[,
mixed
$arg
= NULL
] )Propriétés
- pending
-
Si l'événement est en attente. Voir la section : A propos de la persistence des événements.
Constantes pré-définies
-
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 deEvent::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.
Sommaire
- Event::add — Bascule un évènement en attente
- Event::addSignal — Alias de la méthode Event::add
- Event::addTimer — Alias de Event::add
- Event::__construct — Construit un objet Event
- Event::del — Supprime un événement de la liste des événements surveillés
- Event::delSignal — Alias de Event::del
- Event::delTimer — Alias de Event::del
- Event::free — Supprime une événement de la liste des événements surveillés et libère les ressources associées
- Event::getSupportedMethods — Retourne un tableau contenant les noms des méthodes supportées par cette version de Libevent
- Event::pending — Détecte si l'événement est en attente ou programmé
- Event::set — Re-configure l'événement
- Event::setPriority — Défini la priorité de l'événement
- Event::setTimer — Re-configure un événement timer
- Event::signal — Construit un objet d'événement signal
- Event::timer — Construit un objet d'événement timer
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-class.event.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.