Ev::embeddableBackends

(PECL ev >= 0.2.0)
Returns the set of backends that are embeddable in other event loops.
final public static void Ev::embeddableBackends ( void )

Returns the set of backends that are embeddable in other event loops.

Returns:

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Examples:
Embedding loop created with kqueue backend into the default loop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
/*
* 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
*/
$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
?>
See also:

EvEmbed -

Ev::recommendedBackends() -

Ev::supportedBackends() -

Backend flags -

Examples -

doc_php
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.