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

# Ev::recommendedBackends

(PECL ev >= 0.2.0)

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

### Описание

final public static function 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;
    }
    ?>

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

- EvEmbed
- Ev::embeddableBackends() - Возвращает набор бэкендов, которые можно встроить в прочие событийные циклы
- Ev::supportedBackends() - Возвращает набор бэкендов, поддерживаемых текущей конфигурацией libev
- Флаги бэкенда
- Примеры

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open