eio_get_event_stream
(PECL eio >= 0.3.1b)
eio_get_event_stream — Récupère le flux représentant une variable utilisée dans les communications internes avec libeio
Description
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"