(PECL ev >= 0.2.0)
Ev::recommendedBackends — 返回当前平台推荐的后端位掩码
返回编译到此 libev
二进制文件中的所有后端,这些后端也建议用于此平台,这意味着它将适用于大多数文件描述符类型。 此集合通常小于 ev_supported_backends() 返回的集合,例如,kqueue
在大多数 BSD
系统上都已损坏,除非明确请求,否则不会自动检测到。 这是 libev
在没有明确指定后端的情况下将探测的后端集。
此函数没有参数。
返回一个位掩码,其中可能包含使用按位 *OR* 运算符组合的 后端标志。
示例 #1 将一个循环嵌入到另一个循环中
<?php
/*
* 尝试获取一个可嵌入的事件循环,并将它嵌入到默认事件循环中。
* 如果不可能,请使用默认
* 循环。 默认循环存储在 $loop_hi 中,而可嵌入循环存储在 $loop_lo 中(如果无法使用可嵌入循环,则为 $loop_hi)。
*
* 翻译成 PHP 的示例
* 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;
}
?>