Eio eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_stream — libeio와의 내부 통신에 사용되는 변수를 나타내는 스트림 가져오기


설명

eio_get_event_stream(): mixed

eio_get_event_stream()은 libeio와의 내부 통신에 사용되는 변수를 나타내는 스트림을 획득합니다. 예를 들어 libevent와 같은 다른 PECL 확장에서 제공하는 일부 이벤트 루프와 바인딩하는 데 사용할 수 있습니다.


매개변수

이 함수에는 매개변수가 없습니다.


반환 값

eio_get_event_stream() 성공 시 스트림을 반환합니다. 그렇지 않으면 null


Examples

예제 #1 libevent와 함께 eio 사용

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


// set event flags
event_set($event, $fd, EV_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"