Ev::recommendedBackends

(PECL ev >= 0.2.0)

Ev::recommendedBackendsПолучить битовую маску рекомендованных бекэндов для данной платформы

Описание

final public static Ev::recommendedBackends ( ) : int

Возвращает набор всех бекэндов, встроенных в используемую libev и, также, рекомендованных для данной платформы, в том смысле, что они будут работать с большинством типов дескрипторов файлов. Обычно этот список меньше, чем возвращаемый ev_supported_backends(). К примеру, kqueue не работает на большинстве систем BSD и не будет автоопределен если только вы принудительно его не запросите. Это набор бекэндов которые будет опрашивать libev, если бекэнд не задан в явном виде.

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

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

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

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

Примеры

Пример #1 Встраивание одного цикла в другой

<?php
/*
* Попытаемся получить встраиваемый событийный цикл и встроить его в
* событийный цикл по умолчанию.
* Если это невозможно - используем цикл по умолчанию.
* Цикл по умолчанию хранится в $loop_hi, а встраиваемый в $loop_lo
* (который равен $loop_hi в случае, если нельзя использовать встраиваемый цикл).
*
* Пример взят с сайта
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi EvLoop::defaultLoop();
$loop_lo NULL;
$embed   NULL;

/*
* Смотрим, есть ли хотя бы один подходящий бекэнд
* (флаг 0 означает автоопределение)
*/
$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;
}
?>

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