Php/docs/function.eio-get-event-stream

提供:Dev Guides
< Php
移動先:案内検索

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"