eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_stream内部での libeio との通信に使う変数を表すストリームを取得する

説明

eio_get_event_stream ( void ) : mixed

eio_get_event_stream() は、内部での libeio との通信に使う変数を表すストリームを取得します。 他の PECL 拡張モジュール、たとえば libevent にバインドさせたりして使うことができます。

パラメータ

この関数にはパラメータはありません。

返り値

eio_get_event_stream() は、成功した場合にストリームを返します。それ以外の場合に NULL を返します。

例1 eio を libevent とともに使う

<?php
function 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"0750EIO_PRI_DEFAULT"my_res_cb""mkdir data");
/* some other eio_* calls here ... */


// set event flags
event_set($event$fdEV_READ /*| EV_PERSIST*/"my_eio_poll", array($event$base));

// set event base 
event_base_set($event$base);

// enable event
event_add($event);

// start event loop
event_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"