(PECL ev >= 0.2.0)
Ev::embeddableBackends — 返回可在其他事件循环中嵌入的一组后端
此函数没有参数。
返回一个位掩码,其中可能包含 后端标志,使用按位或运算符组合。
示例 #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
?>