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