Ev::recommendedBackends
(PECL ev >= 0.2.0)
Ev::recommendedBackends — 現在のプラットフォーム上でおすすめのバックエンドのビットマスクを返す
説明
final public static Ev::recommendedBackends ( ) : int
この libev
のバイナリに組み込まれたすべてのバックエンドと、
中でもこのプラットフォーム上でおすすめのバックエンドを返します。
おすすめとは、多くのファイルディスクリプタ形式に対応しているということです。
このバックエンド群は、ev_supported_backends()
が返すものより少なくなることがよくあります。たとえば kqueue
は大半の BSD
システムでうまく動かず、
明示的にリクエストしない限り自動検出できないからです。
このメソッドが返すバックエンドはどれも、明示的に指定しなくても libev
で使えます。
パラメータ
この関数にはパラメータはありません。
例
例1 ループの中に別のループを埋め込む例
<?php/** 埋め込み可能なイベントループをデフォルトのイベントループに組み込みます。* できなかった場合はデフォルトのループを使います。* デフォルトのループは $loop_hi に、そして埋め込み可能なループは $loop_lo* に格納されます (埋め込み可能なループが使えなかった場合は $loop_hi* を使います)。** このサンプルを PHP に移植したものです。* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9*/$loop_hi = EvLoop::defaultLoop();$loop_lo = NULL;$embed = NULL;/** 使えるループを取得できるかどうかを調べます* (フラグの値が 0 の場合は自動検出を意味します)*/$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends() ? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends()) : 0;if ($loop_lo) { $embed = new EvEmbed($loop_lo, function () {});} else { $loop_lo = $loop_hi;}?>
参考
- EvEmbed
- Ev::embeddableBackends() - 他のイベントループに埋め込めるバックエンド群を返す
- Ev::supportedBackends() - 現在の libev の構成でサポートするバックエンド群を返す
- バックエンドのフラグ
- 例