eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_streamGet stream representing a variable used in internal communications with libeio

Descrierea

eio_get_event_stream ( void ) : mixed

eio_get_event_stream() acquires stream representing a variable used in internal communications with libeio. Could be used to bind with some event loop provided by other PECL extension, for example libevent.

Parametri

Această funcție nu are parametri.

Valorile întoarse

eio_get_event_stream() returns stream on success; otherwise, NULL

Exemple

Example #1 Using eio with 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 */
?>

Exemplul de mai sus va afișa ceva similar cu:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"