Ev::embeddableBackends
(PECL ev >= 0.2.0)
Ev::embeddableBackends — 他のイベントループに埋め込めるバックエンド群を返す
説明
final public static Ev::embeddableBackends ( ) : int
他のイベントループに埋め込めるバックエンド群を返します。
パラメータ
この関数にはパラメータはありません。
例
例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 を使うようになりました?>
参考
- EvEmbed
- Ev::recommendedBackends() - 現在のプラットフォーム上でおすすめのバックエンドのビットマスクを返す
- Ev::supportedBackends() - 現在の libev の構成でサポートするバックエンド群を返す
- バックエンドのフラグ
- 例