eio_get_event_stream
(PECL eio >= 0.3.1b)
eio_get_event_stream — 内部での libeio との通信に使う変数を表すストリームを取得する
説明
eio_get_event_stream ( ) : mixed
eio_get_event_stream() は、内部での libeio との通信に使う変数を表すストリームを取得します。 他の PECL 拡張モジュール、たとえば libevent にバインドさせたりして使うことができます。
パラメータ
この関数にはパラメータはありません。
返り値
eio_get_event_stream()
は、成功した場合にストリームを返します。それ以外の場合に null
を返します。
例
例1 eio を libevent とともに使う
<?phpfunction my_eio_poll($fd, $events, $arg) { /* Some libevent regulation might go here .. */ if (eio_nreqs()) { eio_poll(); } /* .. and here */}function my_res_cb($d, $r) { var_dump($r); var_dump($d);}$base = event_base_new();$event = event_new();$fd = eio_get_event_stream();var_dump($fd);eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");/* some other eio_* calls here ... */// set event flagsevent_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));// set event base event_base_set($event, $base);// enable eventevent_add($event);// start event loopevent_base_loop($base);/* The same will be available via buffered libevent interface */?>
上の例の出力は、 たとえば以下のようになります。
int(3) int(0) string(8) "nop data" int(0) string(10) "mkdir data"