Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
EvEmbed::__construct
(PECL ev >= 0.2.0)
EvEmbed::__construct — Constructs the EvEmbed object
Описание
public EvEmbed::__construct ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )This is a rather advanced watcher type that lets to embed one event loop into another(currently only IO events are supported in the embedded loop, other types of watchers might be handled in a delayed or incorrect fashion and must not be used).
Смотрите также
» the libev documentation for details.This watcher is most useful on BSD systems without working kqueue to still be able to handle a large number of sockets. See example below.
Список параметров
other - Instance of EvLoop . The loop to embed, this loop must be embeddable(see Ev::embeddableBackends() ).
callback - See Watcher callbacks .
data - Custom data associated with the watcher.
priority - Watcher priority
Возвращаемые значения
Returns EvEmbed object on success.
Примеры
Пример #1 Embedding loop created with kqueue backend into the default loop
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed = NULL;
if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
$embed = new EvEmbed($loop);
}
}
if (!$socket_loop) {
$socket_loop = $loop;
}
// Now use $socket_loop for all sockets, and $loop for anything else
Смотрите также
- Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops.
User Contributed Notes
There are no user contributed notes for this page.

Описание класса evembed, примеры использования класса evembed.
Описание на ru2.php.netОписание на php.ru