Ev::embeddableBackends
(PECL ev >= 0.2.0)
Ev::embeddableBackends — Retourne le jeu de backends qui sont encapsulés dans les autres boucles d'événements
Description
final
public
static
void
Ev::embeddableBackends
( void
)
Retourne le jeu de backends qui sont encapsulés dans les autres boucles d'événements.
Liste de paramètres
Cette fonction ne contient aucun paramètre.
Valeurs de retour
Retourne un masque d'octets qui peut contenir les drapeaux de backend combinés avec l'opérateur OR.
Exemples
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
?>
Voir aussi
- EvEmbed
- Ev::recommendedBackends() - Retourne un masque d'octets de backends recommandés pour la plateforme courante
- Ev::supportedBackends() - Retourne le jeu de backends supportés par la configuration courant de libev
- Les drapeaux de Backend
- Les exemples