Ev::recommendedBackends

(PECL ev >= 0.2.0)

Ev::recommendedBackends返回当前平台推荐的后端位掩码

描述

final public static Ev::recommendedBackends(): int

返回编译到此 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;
}
?>

参见

添加说明

用户贡献说明

此页面没有用户贡献的说明。
To Top