(PECL ev >= 0.2.0)
Ev::embeddableBackends — Retorna o conjunto de backends que podem ser incorporados em outros laços de eventos
Retorna o conjunto de backends que podem ser incorporados em outros laços de eventos
Esta função não possui parâmetros.
Retorna uma máscara de bits que pode conter opções de backend combinadas usando operação OR binária.
Exemplo #1 Incorporando laço criado com o backend kqueue no laço padrão
<?php
/*
* Verifica se o kqueue está disponível, mas não é recomendado, e cria um backend kqueue
* para uso com soquetes (que geralmente funcionam com qualquer implementação kqueue).
* Armazena o laço de eventos kqueue/somente-soquete em loop_socket. (Opcionalmente,
* pode-se usar EVFLAG_NOENV também)
*
* Exemplo emprestado 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;
}
// Agora usa $socket_loop para todos os soquetes e $loop para qualquer outra coisa
?>