Die Klasse Event

(PECL event >= 1.2.6-beta)

Einführung

Die Klasse Event repräsentiert ein Ereignis, das ausgelöst wird, wenn ein Dateideskriptor zum Lesen oder Schreiben bereit ist; wenn ein Dateideskriptor zum Lesen oder Schreiben bereit wird (nur flankengesteuerte E/A); wenn eine Zeitüberschreitung abläuft; wenn ein Signal auftritt; oder bei einem vom Benutzer ausgelösten Ereignis.

Jedes Ereignis ist mit einer EventBase verknüpft. Ein Ereignis wird jedoch erst ausgelöst, wenn es hinzugefügt wurde (über Event::add() ). Ein hinzugefügtes Ereignis verbleibt im Zustand pending, bis das registrierte Ereignis eintritt, wodurch es in den Zustand active wechselt. Um Ereignisse zu behandeln, kann ein Callback registriert werden, der aufgerufen wird, wenn das Ereignis aktiv wird. Wenn das Ereignis als persistent konfiguriert ist, bleibt es pending. Ist es nicht persistent, ist es nicht mehr pending, sobald sein Callback ausgeführt wurde. Die Methode Event::del() löscht ein Ereignis und versetzt es somit in den Zustand non-pending. Mittels der Methode Event::add() kann es erneut hinzugefügt werden.

Klassenbeschreibung

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

Eigenschaften

pending

Gibt an, ob das Ereignis pending ist. Siehe Über die Ereignis-Persistenz.

Vordefinierte Konstanten

Event::ET

Gibt an, dass das Ereignis flankengesteuert sein soll, sofern das zugrunde liegende Event-Base-Backend flankengesteuerte Ereignisse unterstützt. Dies beeinflusst die Semantik von Event::READ und Event::WRITE.

Event::PERSIST

Gibt an, dass das Ereignis persistent ist. Siehe Über die Ereignis-Persistenz.

Event::READ

Dieses Flag zeigt ein Ereignis an, das aktiv wird, wenn der angegebene Dateideskriptor (üblicherweise eine Stream-Ressource oder ein Socket) zum Lesen bereit ist.

Event::WRITE
Dieses Flag zeigt ein Ereignis an, das aktiv wird, wenn der angegebene Dateideskriptor (üblicherweise eine Stream-Ressource oder ein Socket) zum Schreiben bereit ist.
Event::SIGNAL

Wird verwendet, um eine Signalerkennung zu implementieren. Siehe "Constructing signal events" weiter unten.

Event::TIMEOUT

Dieses Flag zeigt ein Ereignis an, das aktiv wird, nachdem eine Zeitüberschreitung abgelaufen ist.

Das Flag Event::TIMEOUT wird beim Erstellen eines Ereignisses ignoriert: entweder wird eine Zeitüberschreitung gesetzt, wenn das Ereignis hinzugefügt wird, oder nicht. Es wird im Argument $what der Callback-Funktion gesetzt, wenn eine Zeitüberschreitung aufgetreten ist.

Inhaltsverzeichnis

add a note

User Contributed Notes

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