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) {
    
/* Некоторые действия с libevent могут быть здесь */
    
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"0750EIO_PRI_DEFAULT"my_res_cb""mkdir data");
/* Прочие eio_* запросы  ... */


// Установка флагов события
event_set($event$fdEV_READ /*| EV_PERSIST*/"my_eio_poll", array($event$base));

// Установка основы события 
event_base_set($event$base);

// Включение события
event_add($event);

// Запуск цикла обработки
event_base_loop($base);

/* То же самое доступно через интерфейс буфера libevent */
?>

Результатом выполнения данного примера будет что-то подобное:

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