(PECL eio >= 0.3.1b)
eio_get_event_stream — Obtiene un flujo que representa una variable usada en comnunicaciones internas con libeio
eio_get_event_stream() adquiere un flujo que representa una variable usada en comunicaciones internas con libeio. Se podría usar para vinculaciones con algún bucle de eventos proporcionado por otra extensión PECL, por ejemplo libevent.
Esta función no tiene parámetros.
eio_get_event_stream() devuelve un flujo en caso de éxito; de otro modo devuelve null
Ejemplo #1 Usar eio con libevent
<?php
function mi_eio_poll($df, $eventos, $argumento) {
if (eio_nreqs()) {
eio_poll();
}
}
function my_res_cb($d, $r) {
var_dump($r); var_dump($d);
}
$base = event_base_new();
$evento = event_new();
$df = eio_get_event_stream();
var_dump($df);
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");
// establecer la banderas del evento
event_set($evento, $df, EV_READ , "mi_eio_poll", array($evento, $base));
// establecer la base del evento
event_base_set($evento, $base);
// habilitar el evento
event_add($evento);
// iniciar el bucle de eventos
event_base_loop($base);
?>
El resultado del ejemplo sería algo similar a:
int(3) int(0) string(8) "nop data" int(0) string(10) "mkdir data"