ウォッチャー

ウォッチャーは、何らかのイベントに関する興味を記録するオブジェクトです。 たとえば次のコードは、 STDIN が読み込み可能になるまで待ちます。

<?php
// STDIN が読み込み可能になるまで待ちます
$w = new EvIo(STDINEv::READ, function ($watcher$revents) {
 echo 
"STDIN is readable\n";
});
Ev::run(Ev::RUN_ONCE);
?>

すべてのウォッチャーのコンストラクタが、自動的にウォッチャーを開始します。 createStopped メソッドを使う (EvIo::createStopped() など) と、停止状態のウォッチャーを作れます。

ウォッチャーオブジェクトを破棄するときには、自動的にウォッチャーが停止することに注意しましょう。 したがって、コンストラクタやファクトリーメソッドが返すオブジェクトはずっと維持する必要があります。

また、ウォッチャーのプロパティ (setpriority etc.) を変更するすべてのメソッドは、自動的にウォッチャーを停止して アクティブになったら立ち上げなおすことにも注意しましょう。 つまり、未処理のイベントは失われてしまいます。

ウォッチャーのコールバック も参照ください。