リクエストを取り消す
$req
eio_cancel は、 req で指定したリクエストを取り消します。
req
リクエストリソース。
pri
リクエストの優先順位。EIO_PRI_DEFAULT、EIO_PRI_MIN、EIO_PRI_MAX あるいは null を指定します。 null を渡した場合、pri は内部的に EIO_PRI_DEFAULT となります。
EIO_PRI_DEFAULT
EIO_PRI_MIN
EIO_PRI_MAX
null
callback
callback 関数が、リクエスト終了時にコールされます。 この関数のプロトタイプは、
void callback(mixed $data, int $result[, resource $req]);
data
は、リクエストに渡すカスタムデータです。
result
にはリクエスト固有の結果が格納されます。基本的には、対応するシステムコールが返すそのままの値となります。
はオプションで指定するリクエストリソースです。 eio_get_last_error のような関数で使えます。
callback に渡す任意の引数。
値を返しません。
例1 eio_cancel の例
<?php /* eio_nop() が終わったら呼ばれます */ function my_nop_cb($data, $result) { echo "my_nop ", $data, "\n"; } // この eio_nop() の呼び出しは取り消されます $req = eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "1"); var_dump($req); eio_cancel($req); // この eio_nop() は処理されます eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "2"); // リクエストを処理します eio_event_loop(); ?>
上の例の出力は、 たとえば以下のようになります。
resource(4) of type (EIO Request Descriptor) my_nop 2