Rechercher une fonction PHP

La classe EventBase

(PECL event >= 1.2.6-beta)

Introduction

La classe EventBase représente la structure de base d'un événement libevent. Elle contient un jeu d'événements et peut vérifier quels sont les événements actifs.

Chaque événement de base a une méthode ou un backend utilisé pour déterminer quels sont les événements prêts. Ces méthodes sont : select, poll, epoll, kqueue, devpoll, evport et win32.

Pour configurer un événement de base à utiliser, ou éviter un backend spécifique, la classe EventConfig peut être utilisée.

Avertissement

Ne détruisez pas l'objet EventBase tant que les ressources associées aux objets Event ne sont pas libérées. Sinon, cela mènera à des résultats totalement indéfinis !

Retour à la première page de Manuel PHP  Table des matières Haut

Synopsis de la classe

final EventBase {
/* Constants */
const integer LOOP_ONCE = 1 ;
const integer LOOP_NONBLOCK = 2 ;
const integer NOLOCK = 1 ;
const integer STARTUP_IOCP = 4 ;
const integer NO_CACHE_TIME = 8 ;
const integer EPOLL_USE_CHANGELIST = 16 ;
/* Méthodes */
public __construct ([ EventConfig $cfg ] )
public dispatch ( void ) : void
public exit ([ float $timeout ] ) : bool
public free ( void ) : void
public getFeatures ( void ) : int
public getMethod ( void ) : string
public getTimeOfDayCached ( void ) : float
public gotExit ( void ) : bool
public gotStop ( void ) : bool
public loop ([ int $flags ] ) : bool
public priorityInit ( int $n_priorities ) : bool
public reInit ( void ) : bool
public stop ( void ) : bool
}

Retour à la première page de Manuel PHP  Table des matières Haut

Constantes pré-définies

EventBase::LOOP_ONCE

Drapeau utilisé avec la méthode EventBase::loop() qui signifie : "blocage tant que libevent a un événement actif, puis, sortie une fois que tous les événements actifs ont exécuté leurs fonctions de rappel".

EventBase::LOOP_NONBLOCK

Drapeau utilisé avec la méthode EventBase::loop() qui signifie : "ne pas bloquer : regarde quels sont les événements prêts actuellement, exécute leurs fonctions de rappel avec une priorité haute, puis, on sort".

EventBase::NOLOCK

Drapeau de configuration. Ne pas verrouiller la base de l'événement, même si un verrouillage avait été mis en place.

EventBase::STARTUP_IOCP

Drapeau de configuration spécifique à Windows. Active le répartiteur IOCP au démarrage.

EventBase::NO_CACHE_TIME

Drapeau de configuration. Au lieu de vérifier le temps courant chaque fois que la boucle d'événement est prête à exécuter la fonction de rappel, le temps sera vérifié a chaque fois que le délai maximal d'attente pour la fonction de rappel sera atteint.

EventBase::EPOLL_USE_CHANGELIST

Si vous utilisez le backend epoll, ce drapeau signifie qu'il est sécurisé d'utiliser le code interne de modification de liste interne à Libevent pour mettre en lot les ajouts et les suppressions afin de tenter de minimiser le plus possible le nombre d'appels système..

Le fait de définir ce drapeau rend le code plus rapide, mais il peut se confronter à un bogue Linux : il n'est pas sécurisé d'utiliser ce drapeau en la présence d'un fds clôné par dup() ou une de ces variantes. Ceci produirait un comportement étrange et très difficile à diagnostiquer.

Ce drapeau peut aussi être activé en définissant la variable d'environnement EVENT_EPOLL_USE_CHANGELIST.

Ce drapeau n'a aucun effet si on l'utlise avec un autre backend que epoll.

Retour à la première page de Manuel PHP  Table des matières Haut

Sommaire

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-class.eventbase.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

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

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.

Table des matières Haut