eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_stream — Возвращает поток, отражающий переменную, используемую при взаимодействии с libeio


Описание

mixed eio_get_event_stream ( void )

eio_get_event_stream() получает поток, отражающий переменную, используемую при взаимодействии с libeio. Может быть использовано для привязки некоторого цикла обработки, поставляемого другим расширением PECL, например, libevent.


Список параметров

У этой функции нет параметров.


Возвращаемые значения

eio_get_event_stream() возвращает поток при успехе; иначе NULL


Примеры

Пример #1 ИСпользование eio совместно с libevent

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", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* Прочие eio_* запросы  ... */
// Установка флагов события
event_set($event, $fd, EV_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"

User Contributed Notes


There are no user contributed notes for this page.



Смотрите также:
Описание на ru2.php.net
Описание на php.ru