(PECL ev >= 0.2.0)
Ev::embeddableBackends — Retourne le jeu de backends qui sont encapsulés dans les autres boucles d'événements
Retourne le jeu de backends qui sont encapsulés dans les autres boucles d'événements.
Cette fonction ne contient aucun paramètre.
Retourne un masque d'octets qui peut contenir les drapeaux de backend combinés avec l'opérateur OR.
Exemple #1 Encapsule une boucle créée avec le backend kqueue dans la boucle par défaut
<?php
/*
* Vérifie si kqueue est disponible et crée un backend kqueue
* pour l'utiliser avec des sockets (qui fonctionne habituellement avec n'importe quelle
* implémentation de kqueue).
* Stocke la boucle d'événement kqueue/socket-uniquement dans loop_socket.
* (utilisation optionnelle de EVFLAG_NOENV)
*
* Exemple issue de :
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed = NULL;
if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
$embed = new EvEmbed($loop);
}
}
if (!$socket_loop) {
$socket_loop = $loop;
}
// Maintenant, on utilise $socket_loop pour tous les sockets, et $loop pour tout le reste
?>