Rechercher une fonction PHP

La classe EvLoop

(PECL ev >= 0.2.0)

Introduction

Représente une boucle d'événements qui est toujours distincte de la boucle par défaut. Contrairement à la boucle par défaut, elle ne peut pas gérer les watchers EvChild.

Lorsqu'on utilise les threads, nous devons créer une boucle par thread, et utiliser la boucle par défaut dans le thread parent.

La boucle d'événements par défaut est initialisée automatiquement par Ev. Elle est accessible via les méthodes de la classe Ev ou via la méthode EvLoop::defaultLoop().

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

Synopsis de la classe

final EvLoop {
/* Propriétés */
public $data ;
public $backend ;
public $iteration ;
public $pending ;
public $io_interval ;
public $depth ;
/* Méthodes */
public backend ( void ) : int
final public check ( string $callback [, string $data [, string $priority ]] ) : EvCheck
final public child ( string $pid , string $trace , string $callback [, string $data [, string $priority ]] ) : EvChild
public __construct ([ int $flags [, mixed $data = NULL [, float $io_interval = 0.0 [, float $timeout_interval = 0.0 ]]]] )
public static defaultLoop ([ int $flags = Ev::FLAG_AUTO [, mixed $data = NULL [, float $io_interval = 0. [, float $timeout_interval = 0. ]]]] ) : EvLoop
final public embed ( string $other [, string $callback [, string $data [, string $priority ]]] ) : EvEmbed
final public fork ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] ) : EvFork
final public idle ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] ) : EvIdle
public invokePending ( void ) : void
final public io ( mixed $fd , int $events , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] ) : EvIo
public loopFork ( void ) : void
public now ( void ) : float
public nowUpdate ( void ) : void
final public periodic ( float $offset , float $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] ) : EvPeriodic
final public prepare ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] ) : EvPrepare
public resume ( void ) : void
public run ([ int $flags = 0 ] ) : void
final public signal ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] ) : EvSignal
final public stat ( string $path , float $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] ) : EvStat
public stop ([ int $how ] ) : void
public suspend ( void ) : void
final public timer ( float $after , float $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] ) : EvTimer
public verify ( void ) : void
}

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

Propriétés

data

Données personnalisées à attacher à la boucle

backend

Lecture seule. Les drapeaux du backend indiquant le backend d'événements en cours d'utilisation.

is_default_loop

Lecture seule. TRUE si c'est la boucle d'événements par défaut.

iteration

Le compteur d'itération courant de la boucle. Voir la méthode Ev::iteration().

pending

Le nombre de watchers en attente. 0 indique qu'il n'y a aucun watcher en attente.

io_interval

Une valeur haute pour io_interval permet à libev de passer plus de temps à collecter les événements EvIo, ainsi, plus d'événements peuvent être gérés par itération, mais cela va augmenter la latence. Les délais d'attente maximum (pour à la fois EvPeriodic et EvTimer) ne seront pas affectés. Le fait de définir cette option à une valeur différente de zéro va introduire un appel à sleep() supplémentaire dans la plupart des itérations de la boucle. Le temps de pause assure que libev ne va pas interroger EvIo plus d'une fois pendant cet intervalle, en moyenne. La plupart des programmes peuvent avoir des effets bénéfiques en définissant io_interval à une valeur proche de 0.1, ce qui est en général suffisant pour les serveurs interactifs (et non destinés aux jeux). Il n'y a généralement aucun sens à définir cette valeur à une valeur inférieure à 0.01, sachant que l'on s'approche de la granularité au niveau des durées de la plupart des systèmes.

Voir aussi les »  fonctions contrôlant les boucles d'événements.

timeout_interval

Une valeur haute pour timeout_interval permet à libev de passer plus de temps à collecter les délais maximales d'attente, mais à pour conséquence d'accroitre la latence, le stress et l'inexactitude (la fonction de rappel du watcher sera appelée plus tard). Les watchers EvIo ne seront pas affectés. Le fait de définir cette valeur à une valeur non nulle ne va introduire aucune surcharge supplémentaire à libev. Voir aussi les »  fonctions contrôlant les boucles d'évéments.

depth

La profondeur de la récursion. Voir la méthode Ev::depth().

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

Sommaire

  • EvLoop::backend — Retourne un entier décrivant le backend utilisé par libev
  • EvLoop::check — Crée un objet EvCheck associé avec l'instance de la boucle d'événements courante
  • EvLoop::child — Crée un objet EvChild associé avec la boucle d'événements courante
  • EvLoop::__construct — Construit un objet de boucle d'événements
  • EvLoop::defaultLoop — Retourne ou crée la boucle d'événements par défaut
  • EvLoop::embed — Crée une instance de l'observateur EvEmbed associé avec l'objet de l'EvLoop courant
  • EvLoop::fork — Crée un objet EvFork watcher associé avec l'instance de la boucle de l'événement courant
  • EvLoop::idle — Crée un objet EvIdle watcher associé avec l'instance de la boucle de l'événement courant
  • EvLoop::invokePending — Invoque tous les watchers en attente pendant que leurs statuts de file d'attente ne soient réinitialisés
  • EvLoop::io — Crée un objet EvIo watcher associé avec l'instance de la boucle de l'événement courant
  • EvLoop::loopFork — Doit être appelé après un fork
  • EvLoop::now — Retourne le "event loop time" courant
  • EvLoop::nowUpdate — Etablit le temps courant en demandant au kernel, et mise à jour du temps retourné par EvLoop::now pendant l'exécution
  • EvLoop::periodic — Crée un objet EvPeriodic watcher associé avec l'instance de la boucle d'événement courant
  • EvLoop::prepare — Crée un objet EvPrepare watcher associé avec l'instance de la boucle d'événement courant
  • EvLoop::resume — Reprend une boucle d'évément précédemment stoppée
  • EvLoop::run — Commence à vérifier les événements et à appeler les fonctions de rappel de la boucle
  • EvLoop::signal — Crée un objet EvSignal watcher associé avec l'instance de la boucle d'événement courant
  • EvLoop::stat — Crée un objet EvStat watcher associé avec l'instance de la boucle d'événement courant
  • EvLoop::stop — Stoppe la boucle d'événement
  • EvLoop::suspend — Suspend la boucle
  • EvLoop::timer — Crée un objet EvTimer watcher associé avec l'instance de la boucle d'événement courant
  • EvLoop::verify — Effectue des vérifications de consistence interne (pour le débogage)
Rechercher une fonction PHP

Version en cache

21/11/2024 23:38:04 Cette version de la page est en cache (à la date du 21/11/2024 23:38:04) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.

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