Ev::embeddableBackends

(PECL ev >= 0.2.0)

Ev::embeddableBackendsВозвращает набор бекэндов, которые можно встроить в прочие событийные циклы

Описание

final public static Ev::embeddableBackends ( void ) : int

Возвращает набор бекэндов, которые можно встроить в прочие событийные циклы.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает битовую маску, содержащую флаги бекэнда, объединенные с помощью побитового ИЛИ.

Примеры

Пример #1 Цикл создается с использованием kqueue и встраивается в цикл по умолчанию

<?php
/*
* Проверяем, что kqueue доступен, но не рекомендован и создаем kqueue бекэнд
* с использованием сокетов (которые обычно работают с любой реализацией kqueue).
* Сохраняем событийный цикл kqueue/socket-only в loop_socket. (Можем, опционально
* использовать флаг EVFLAG_NOENV)
*
* Пример взят с сайта
* 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;
}

// Теперь используем $socket_loop для всех сокетов и $loop всего остального
?>

Смотрите также