La clase Event

(PECL event >= 1.2.6-beta)

Introducción

La clase Event representa y lanza un evento sobre un descriptor de fichero que se ha vuelto listo para una lectura o una escritura; un descriptor de fichero se vuelve listo para una lectura o una escritura (I/O únicamente); un tiempo de espera expirado; una señal ocurriendo; un evento lanzado por el usuario.

Cada evento está asociado con un EventBase. Sin embargo, el evento nunca será lanzado hasta que no haya sido añadido (a través del método Event::add()). Un evento añadido permanece en un estado de espera hasta que el evento registrado ocurra, pasándolo así a un estado activo. Para gestionar los eventos, el usuario debe registrar una función de retrollamada que será llamada cuando el evento se vuelva activo. Si el evento está configurado como persistente, permanecerá en espera. Si no es persistente, ya no estará en espera cuando su función de retrollamada sea ejecutada. El método Event::del() elimina el evento, y ya no estará en espera. Al llamar al método Event::add(), será añadido de nuevo.

Sinopsis de la Clase

final class Event {
/* Constantes */
const int ET = 32;
const int PERSIST = 16;
const int READ = 2;
const int WRITE = 4;
const int SIGNAL = 8;
const int TIMEOUT = 1;
/* Propiedades */
public readonly bool $pending;
/* Métodos */
public add( float $timeout = ?): bool
public __construct(
     EventBase $base ,
     mixed $fd ,
     int $what ,
     callable $cb ,
     mixed $arg = NULL
)
public del(): bool
public free(): void
public static getSupportedMethods(): array
public pending( int $flags ): bool
public set(
     EventBase $base ,
     mixed $fd ,
     int $what = ?,
     callable $cb = ?,
     mixed $arg = ?
): bool
public setPriority( int $priority ): bool
public setTimer( EventBase $base , callable $cb , mixed $arg = ?): bool
public static signal(
     EventBase $base ,
     int $signum ,
     callable $cb ,
     mixed $arg = ?
): Event
public static timer( EventBase $base , callable $cb , mixed $arg = ?): Event
}

Propiedades

pending

Si el evento está en espera. Ver la sección : Acerca de la persistencia de los eventos.

Constantes predefinidas

Event::ET

Indica que el evento debe ser lanzado, si la base de evento subyacente soporta este tipo de evento. Esto afecta la semántica de Event::READ y de Event::WRITE.

Event::PERSIST

Indica que el evento es persistente. Ver la sección : Acerca de la persistencia de los eventos.

Event::READ

Este flag indica que un evento se vuelve activo cuando el descriptor de fichero proporcionado (normalmente, un recurso de flujo o un socket) está listo para una lectura.

Event::WRITE

Este flag indica que un evento se vuelve activo cuando el descriptor de fichero proporcionado (normalmente, un recurso de flujo o un socket) está listo para una escritura.

Event::SIGNAL

Utilizado para implementar una detección de señal. Ver la sección a continuación sobre la construcción de un evento de tipo señal.

Event::TIMEOUT

Este flag indica que un evento se vuelve activo después de la expiración de este tiempo de espera máximo.

El flag Event::TIMEOUT es ignorado durante la construcción de un evento: puede ser indicado o no durante la adición del evento. Debe ser definido en el argumento $what de la función de retrollamada cuando un tiempo de espera máximo haya ocurrido.

Tabla de contenidos

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top