(PECL ev >= 0.2.0)
Ev::embeddableBackends — 返回可嵌入其他事件迴圈的後端集合
此函式沒有參數。
返回一個位元遮罩,其中可以包含使用位元 *OR* 運算子組合的後端旗標。
範例 #1 將使用 kqueue 後端建立的迴圈嵌入到預設迴圈中
<?php
/*
* 檢查 kqueue 是否可用,但不建議使用,並建立一個 kqueue 後端
* 以用於 sockets(通常適用於任何 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;
}
// 現在所有 sockets 都使用 $socket_loop,其他則使用 $loop
?>