SunshinePHP Developer Conference 2015

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

final Event {
/* Constantes */
const integer ET = 32 ;
const integer PERSIST = 16 ;
const integer READ = 2 ;
const integer WRITE = 4 ;
const integer SIGNAL = 8 ;
const integer TIMEOUT = 1 ;
/* Propriétés */
public readonly bool $pending ;
/* Méthodes */
public bool add ([ double $timeout ] )
public bool addSignal ([ double $timeout ] )
public bool addTimer ([ double $timeout ] )
public __construct ( EventBase $base , mixed $fd , int $what , callable $cb [, mixed $arg = NULL ] )
public bool del ( void )
public bool delSignal ( void )
public bool delTimer ( void )
public void free ( void )
public static array getSupportedMethods ( void )
public bool pending ( int $flags )
public bool set ( EventBase $base , mixed $fd [, int $what [, callable $cb [, mixed $arg ]]] )
public bool setPriority ( int $priority )
public bool setTimer ( EventBase $base , callable $cb [, mixed $arg ] )
public static Event signal ( EventBase $base , int $signum , callable $cb [, mixed $arg ] )
public static Event timer ( EventBase $base , callable $cb [, mixed $arg ] )
}

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 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.

Sommaire

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top