Ev::recommendedBackends
(PECL ev >= 0.2.0)
Ev::recommendedBackends — Retourne un masque d'octets de backends recommandés pour la plateforme courante
Description
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.
Valeurs de retour
Retourne un masque d'octets contenant les drapeaux des backends combinés en utilisant l'opérateur OR.
Exemples
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;
}
?>
Voir aussi
- EvEmbed
- Ev::embeddableBackends() - Retourne le jeu de backends qui sont encapsulés dans les autres boucles d'événements
- Ev::supportedBackends() - Retourne le jeu de backends supportés par la configuration courant de libev
- Les drapeaux de Backend
- Les exemples
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-ev.recommendedbackends.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
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.