Rechercher une fonction PHP

La classe EventBufferEvent

(PECL event >= 1.2.6-beta)

Introduction

Représente un buffer d'événement Libevent.

Habituellement, une application veut mettre en buffer des données en plus de juste répondre à des événements. Lorsque nous voulons écrire des données, par exemple, le mécanisme habituel ressemble à :

  1. On décide que l'on veut écrire des données dans une connexion ; placez ces données dans un buffer.

  2. On attend que la connexion devienne accessible en écriture

  3. On écrit autant de données que l'on peut

  4. On se souvient de la quantité écrite, et si on a encore plus de données à écrire, on attend que la connexion redevienne accessible en écriture.

Ce mécanisme de mise en buffer I/O est suffisament commune pour que Libevent fournisse un mécanisme générique pour cela. Un buffer d'événement consiste en un transport sous-jacent (comme un socket), un buffer de lecture, et un buffer d'écriture. Au lieu d'un événement classique, qui fournit des fonctions de rappel lorsque le transport sous-jacent est prêt à être lu ou écrit, un buffer d'événement appelle ses fonctions de rappel fournis par l'utilisateur lorsqu'il a lu ou écrit suffisament de données.

Retour à la première page de Manuel PHP  Table des matières Haut

Synopsis de la classe

final EventBufferEvent {
/* Constants */
const integer READING = 1 ;
const integer WRITING = 2 ;
const integer EOF = 16 ;
const integer ERROR = 32 ;
const integer TIMEOUT = 64 ;
const integer CONNECTED = 128 ;
const integer OPT_CLOSE_ON_FREE = 1 ;
const integer OPT_THREADSAFE = 2 ;
const integer OPT_DEFER_CALLBACKS = 4 ;
const integer OPT_UNLOCK_CALLBACKS = 8 ;
const integer SSL_OPEN = 0 ;
const integer SSL_CONNECTING = 1 ;
const integer SSL_ACCEPTING = 2 ;
/* Propriétés */
public integer $fd ;
public integer $priority ;
public readonly EventBuffer $input ;
public readonly EventBuffer $output ;
/* Méthodes */
public close ( void ) : void
public connect ( string $addr ) : bool
public connectHost ( EventDnsBase $dns_base , string $hostname , int $port [, int $family = EventUtil::AF_UNSPEC ] ) : bool
public __construct ( EventBase $base [, mixed $socket = NULL [, int $options = 0 [, callable $readcb = NULL [, callable $writecb = NULL [, callable $eventcb = NULL ]]]]] )
public static createPair ( EventBase $base [, int $options = 0 ] ) : array
public disable ( int $events ) : bool
public enable ( int $events ) : bool
public free ( void ) : void
public getDnsErrorString ( void ) : string
public getEnabled ( void ) : int
public getInput ( void ) : EventBuffer
public getOutput ( void ) : EventBuffer
public read ( int $size ) : string
public readBuffer ( EventBuffer $buf ) : bool
public setCallbacks ( callable $readcb , callable $writecb , callable $eventcb [, string $arg ] ) : void
public setPriority ( int $priority ) : bool
public setTimeouts ( float $timeout_read , float $timeout_write ) : bool
public setWatermark ( int $events , int $lowmark , int $highmark ) : void
public sslError ( void ) : string
public static sslFilter ( EventBase $base , EventBufferEvent $underlying , EventSslContext $ctx , int $state [, int $options = 0 ] ) : EventBufferEvent
public sslGetCipherInfo ( void ) : string
public sslGetCipherName ( void ) : string
public sslGetCipherVersion ( void ) : string
public sslGetProtocol ( void ) : string
public sslRenegotiate ( void ) : void
public static sslSocket ( EventBase $base , mixed $socket , EventSslContext $ctx , int $state [, int $options ] ) : EventBufferEvent
public write ( string $data ) : bool
public writeBuffer ( EventBuffer $buf ) : bool
}

Retour à la première page de Manuel PHP  Table des matières Haut

Propriétés

fd

Descripteur de fichier numérique associé avec le buffer d'événement. Normalement, représent un socket lié. Vaut NULL s'il n'y a aucun descripteur de fichier (socket) associé avec le buffer d'événement.

priority

La priorité de l'événement, utilisée pour implémenter le buffer d'événement.

input

Objet de buffer d'entrée sous-jacent (EventBuffer)

output

Objet de buffer de sortie sous-jacent (EventBuffer)

Retour à la première page de Manuel PHP  Table des matières Haut

Constantes pré-définies

EventBufferEvent::READING

Un événement survient pendant l'opération de lecture sur le bufferevent. Voir les autres drapeaux pour connaître le type d'événement.

EventBufferEvent::WRITING

Un événement survient pendant une opération d'écriture sur le bufferevent. Voir les autres drapeaux pour connaître le type d'événement.

EventBufferEvent::EOF

On récupère une indication de fin de fichier sur le buffer d'événement.

EventBufferEvent::ERROR

Une erreur survient pendant une opération bufferevent. Pour plus d'informations sur l'erreur, appelez la méthode EventUtil::getLastSocketErrno() et/ou EventUtil::getLastSocketError().

EventBufferEvent::TIMEOUT

EventBufferEvent::CONNECTED

Termine une connexion demandée sur le bufferevent.

EventBufferEvent::OPT_CLOSE_ON_FREE

Lorsque le buffer d'événement est libéré, ferme le transport sous-jacent. Ceci va clôre le socket sous-jacent, libérer le buffer d'événement sous-jacent, etc.

EventBufferEvent::OPT_THREADSAFE

Alloue automatiquement des verrous pour le bufferevent, afin de rendre sécurisé l'utilisation de plusieurs threads.

EventBufferEvent::OPT_DEFER_CALLBACKS

Lorsque ce drapeau est défini, le bufferevent reporte toutes ses fonctions de rappel. Voir »  la documentation sur la programmation réseau rapide, portable, non bloquante avec Libevent, le report des fonctions de rappel.

EventBufferEvent::OPT_UNLOCK_CALLBACKS

Par défaut, lorsque le bufferevent est défini pour être sécurisé au niveau des threads, le verrou du buffer d'événement est maintenu, y compris si une fonction de rappel utilisateur est appelée. La définition de cette option permet à Libevent de libérer le verrou du buffer d'événement lorsque la fonction de rappel est appelée.

EventBufferEvent::SSL_OPEN

La négociation SSL se fait

EventBufferEvent::SSL_CONNECTING

SSL effectue actuellement la négociation comme client

EventBufferEvent::SSL_ACCEPTING

SSL effectue actuellement la négociation comme serveur

Retour à la première page de Manuel PHP  Table des matières Haut

Sommaire

Rechercher une fonction PHP

Version en cache

23/12/2024 00:11:25 Cette version de la page est en cache (à la date du 23/12/2024 00:11:25) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-class.eventbufferevent.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut