eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_streamGet stream representing a variable used in internal communications with libeio

Description

eio_get_event_stream(): 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.

Parameters

This function has no parameters.

Return Values

eio_get_event_stream() returns stream on success; otherwise, null

Examples

Example #1 Using eio with libevent

<?php
function my_eio_poll($fd, $events, $arg) {

if (eio_nreqs()) {
eio_poll();
}

}

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");



// set event flags
event_set($event, $fd, EV_READ , "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 above example will output something similar to:

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