eio_get_event_stream

(PECL eio >= 0.3.1b)

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

Описание

eio_get_event_stream(): 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", 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"
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top