(PECL ev >= 0.2.0)
Ev::supportedBackends — 返回当前libev配置支持的后端集合
此函数没有参数。
返回一个位掩码,其中可以包含使用按位OR运算符组合的后端标志。
示例 #1 将使用kqueue后端创建的循环嵌入到默认循环中
<?php
/*
* 检查kqueue是否可用但未推荐,并为套接字创建kqueue后端
* (通常与任何kqueue实现一起使用)。
* 将仅限kqueue/socket的事件循环存储在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用于其他任何内容
?>