(PECL event >= 1.2.6-beta)
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.
$base
,$fd
,$what
,$cb
,$arg
= NULL
$base
,$fd
,$what
= ?,$cb
= ?,$arg
= ?Gibt an, ob das Ereignis pending ist. Siehe Über die Ereignis-Persistenz.
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
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.