Ev
PHP Manual

Ev::embeddableBackends

(PECL ev >= 0.2.0)

Ev::embeddableBackends他のイベントループに埋め込めるバックエンド群を返す

説明

final public static void Ev::embeddableBackends ( void )

他のイベントループに埋め込めるバックエンド群を返します。

パラメータ

この関数にはパラメータはありません。

返り値

ビットマスクを返します。 バックエンドのフラグ を、ビット OR 演算子で組み合わせたものになります。

例1 kqueue バックエンドで作ったループをデフォルトのループに埋め込む例

<?php
/*
* kqueue が使えるかどうかを調べ、ソケットで使う kqueue バックエンドを作ります
* (通常は、どんな kqueue 実装でも動きます)。
* kqueue/socket-only イベントループを 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 を使うようになりました
?>

参考


Ev
PHP Manual