(PECL ev >= 0.2.0)
Ev::recommendedBackends — Retourne un masque d'octets de backends recommandés pour la plateforme courante
Retourne un jeu de tous les backends compilés dans ce binaire de
libev
, et également recommandée pour cette
plateform, ce qui signifie qu'ils devraient fonctionner pour la
plupart des types de descripteur de fichiers. Ce jeu est générallement
plus petit que celui retourné par la fonction
ev_supported_backends(), sachant que, par exemple,
kqueue
est cassé sur les systèmes BSD
et ne sera pas auto-détecté tant qu'il n'est pas requis explicitement.
C'est le jeu de backends que libev
utilisera
lorsqu'aucun ne sera demandé explicitement.
Cette fonction ne contient aucun paramètre.
Retourne un masque d'octets contenant les drapeaux des backends combinés en utilisant l'opérateur OR.
Exemple #1 Encapsule une boucle dans une autre
<?php
/*
* Tente de récupérer une boucle d'événement interne, et de l'encapsuler dans
* la boucle d'événement par défaut.
* Si c'est possible, utilisation de la boucle par défaut.
* La boucle par défaut est stockée dans $loop_hi, alors que la boucle interne
* est stockée dans $loop_lo( qui est $loop_hi dans ce cas car aucune boucle interne
* ne peut être utilisée).
*
* Exemple icci de :
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed = NULL;
/*
* Regarde s'il y a une chance d'en récupérer une qui fonctionne
* (la valeur du drapeau à 0 signifie l'auto-détection)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
: 0;
if ($loop_lo) {
$embed = new EvEmbed($loop_lo, function () {});
} else {
$loop_lo = $loop_hi;
}
?>