A classe Event

(PECL event >= 1.2.6-beta)

Introdução

A classe Event representa um evento disparado em um descritor de arquivo pronto para leitura ou escrita; um descritor de arquivo ficando pronto para leitura ou gravação (somente E/S acionada por alteração de status); um tempo limite expirando; um sinal ocorrendo; um evento acionado pelo usuário.

Cada evento está associado a EventBase. Entretanto, o evento nunca será acionado até que seja adicionado (via Event::add()). Um evento adicionado permanece no estado pendente até que o evento registrado ocorra, passando assim para o estado ativo. Para lidar com eventos, o usuário pode registrar uma função de retorno que é chamada quando o evento se torna ativo. Se o evento estiver configurado como persistente, ele permanecerá pendente. Se não for persistente, ele deixa de ficar pendente quando a função de retorno for executada. O método Event::del() exclui o evento, tornando-o não pendente. Através do método Event::add() ele pode ser adicionado novamente.

Resumo da classe

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;
/* Propriedades */
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
}

Propriedades

pending

Informa se o evento está pendente. Consulte sobre persistência de eventos.

Constantes predefinidas

Event::ET

Indica que o evento deve ser acionado por alteração de sinal, se o back-end da base de eventos subjacente suportar eventos acionados por alteração de sinal. Isso afeta a semântica de Event::READ e Event::WRITE.

Event::PERSIST

Indica que o evento é persistente. Consulte sobre persistência de eventos.

Event::READ

Esta opção indica um evento que se torna ativo quando o descritor de arquivo fornecido (geralmente um recurso de fluxo ou soquete) está pronto para leitura.

Event::WRITE

Esta opção indica um evento que se torna ativo quando o descritor de arquivo fornecido (geralmente um recurso de fluxo ou soquete) está pronto para escrita.

Event::SIGNAL

Usado para implementar a detecção de sinal. Consulte "Construindo eventos de sinal" abaixo.

Event::TIMEOUT

Esta opção indica um evento que se torna ativo depois de decorrido um tempo limite.

A flag Event::TIMEOUT é ignorada ao construir um evento: pode-se definir um tempo limite quando o evento é adicionado, ou não. É definido no argumento $what para a função de retorno quando ocorre um tempo limite.

Índice

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top