eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_streamRécupère le flux représentant une variable utilisée dans les communications internes avec libeio

Description

mixed eio_get_event_stream ( void )

eio_get_event_stream() récupère un flux représentant une variable utilisée dans les communications internes avec libeio. Peut être utilisé pour lier avec des boucles d'événements fournies par d'autres extensions PECL, comme par exemple libevent.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

eio_get_event_stream() retourne un flux en cas de succès, NULL sinon.

Exemples

Exemple #1 Utilisation de eio avec libevent

<?php
function my_eio_poll($fd, $events, $arg) {
	/* Quelques commandes libevent peuvent être effectuées ici .. */
	if (eio_nreqs()) {
		eio_poll();
	}
	/* .. et ici */
}

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");
/* quelques appels à eio_* calls ici ... */


// Définit les drapeaux des événements
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// Définit l'événement de base
event_base_set($event, $base);

// Active l'événement
event_add($event);

// Démarre la boucle des événements
event_base_loop($base);

/* La même chose peut être effectuée avec les interfaces libevent bufferisées */
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

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