(PECL ev >= 0.2.0)
La classe Ev est une classe statique fournissant l'accÚs à la boucle par défaut ainsi qu'à quelques opérations communes.
Drapeaux passés pour créer une boucle :
Ev::FLAG_AUTO
Ev::FLAG_NOENV
libev
ne va pas regarder la variable d'environnement
LIBEV_FLAGS. Sinon (comportement par défaut),
LIBEV_FLAGS va écraser complÚtement le
drapeau s'il est trouvé. Utile pour des tests de performance
et pour la recherche de bogues.
Ev::FLAG_FORKCHECK
getpid() à chaque itération de
la boucle, et ainsi, va ralentir la boucle d'événements qui
possÚdent beaucoup d'itérations, mais habituellement,
ce ralentissement n'est pas notable. La configuration de ce drapeau
ne peut pas ĂȘtre Ă©crasĂ©e ou spĂ©cifiĂ©e dans la variable
d'environnement LIBEV_FLAGS.
Ev::FLAG_NOINOTIFY
libev
ne va pas tenter d'utiliser l'API inotify
pour ces watchers
» ev_stat.
Ce drapeau peut ĂȘtre utile pour conserver les descripteurs de
fichiers inotify, sachant que sinon, chaque boucle utilisant les
watchers ev_stat va consommer un gestionnaire
inotify.
Ev::FLAG_SIGNALFD
libev
va tenter d'utiliser l'API signalfd
pour ces watchers
» ev_signal
(et
» ev_child).
Cette API délivre les signaux de façon synchrone, ce qui
la rend plus rapide, et peut permettre la récupération des données
des signaux en attente. Elle peut également simplifier la gestion
des signaux avec les threads, sachant que les signaux sont des
propriétés bloquées dans les threads. Signalfd
ne sera pas utilisé par défaut.
Ev::FLAG_NOSIGMASK
libev
ne va pas modifier le masque du signal. Ceci signifie
qu'il faut s'assurer que les signaux sont déverrouillés
avant de les recevoir.
Ce comportement est utile pour la gestion personnalisée des signaux,
ou la gestion des signaux uniquement dans des threads spécifiques.
Drapeaux Ă passer Ă Ev::run(), ou Ă EvLoop::run()
Ev::RUN_NOWAIT
Ev::RUN_ONCE
Drapeaux passés à Ev::stop(), ou à EvLoop::stop()
Ev::BREAK_CANCEL
Ev::BREAK_ONE
Ev::BREAK_ALL
Priorités de Watcher :
Ev::MINPRI
Ev::MAXPRI
Masques d'octets d'événements (reçus) :
Ev::READ
Ev::WRITE
Ev::TIMER
Ev::PERIODIC
Ev::SIGNAL
Ev::CHILD
pid spécifié dans
EvChild::__construct()
a reçu une modification de statut.
Ev::STAT
Ev::IDLE
Ev::PREPARE
Ev::CHECK
Ev::EMBED
Ev::CUSTOM
libev, mais peut ĂȘtre
librement utilisé par les utilisateurs
libev pour signaler les watchers
(c.-à -d. via la méthode EvWatcher::feed()).
Ev::ERROR
libev a dépassé la mémoire allouée, un
descripteur de fichier a été fermé, ou tout autre problÚme.
Libev considĂšre ceci comme des bogues
de l'application. Voir aussi
» l'anatomie
d'un watcher
Drapeaux de Backend :
Ev::BACKEND_SELECT
select(2) backend
Ev::BACKEND_POLL
poll(2) backend
Ev::BACKEND_EPOLL
epoll(7) spécifique à Linux
pour, Ă la fois, les kernels avant et aprĂšs 2.6.9.
Ev::BACKEND_KQUEUE
kqueue utilisé sur la
plupart des systĂšmes BSD. Le watcher EvEmbed
peut ĂȘtre utilisĂ© pour embarquer une boucle (avec le
backend kqueue) dans une autre. Actuellement, une boucle peut
tenter de créer une boucle d'événements avec le backend
kqueue et l'utiliser uniquement pour les
sockets.
Ev::BACKEND_DEVPOLL
Ev::BACKEND_PORT
Ev::BACKEND_ALL
Ev::BACKEND_ALL & ~
Ev::BACKEND_KQUEUE).
Utiliser la méthode
Ev::recommendedBackends() ou ne
spécifier aucun backend.
Ev::BACKEND_MASK
flags pour représenter dans un
masque n'importe quel backend (c.-Ă -d. lors de la modification
de la variable d'environnement LIBEV_FLAGS).
Note: Pour la boucle par défaut, pendant la phase d'initialisation du module,
Evenregistre des appels à » ev_loop_fork viapthread_atfork(si disponible).
Note: Il y a des mĂ©thodes fournissant l'accĂšs Ă la boucle d'Ă©vĂ©nements par dĂ©faut dans la classe Ev (c.-Ă -d. Ev::iteration(), Ev::depth(), etc.) Pour les boucles personnalisĂ©es (créées avec EvLoop::__construct()), ces valeurs peuvent ĂȘtre accessibles via les propriĂ©tĂ©s et les mĂ©thodes correspondantes de la classe EvLoop. L'instance de la boucle d'Ă©vĂ©nements par dĂ©faut peut ĂȘtre rĂ©cupĂ©rĂ©e via la mĂ©thode EvLoop::defaultLoop().