(PECL ev >= 0.2.0)
Ev::supportedBackends — Devuelve el conjunto de backends soportados por la configuración actual de libev
Devuelve el conjunto de backends soportados por la configuración actual de libev.
Esta función no tiene parámetros.
Devuelve una máscara de bits que puede contener los flags de backend combinados utilizando el operador OR.
Ejemplo #1 Bucle integrado creado con el backend kqueue en el bucle por defecto
<?php
/*
* Verifica si kqueue está disponible (pero no recomendado) y crea un backend kqueue
* para usarlo con sockets (lo cual funciona con cualquier implementación
* kqueue).
* Almacena el bucle de eventos kqueue (utilizable únicamente a través de sockets)
* en loop_socket. (uso opcional de EVFLAG_NOENV)
*
* Ejemplo tomado de la siguiente URL:
* 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;
}
// Ahora, uso de $socket_loop para todos los sockets y $loop para todo lo demás
?>