(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
?>