The Event class
The Event class
Introduction
(PECL event >= 1.2.6-beta)
Event class represents and event firing on a file descriptor being ready to read from or write to; a file descriptor becoming ready to read from or write to(edge-triggered I/O only); a timeout expiring; a signal occurring; a user-triggered event.
Every event is associated with EventBase . However, event will never fire until it is added (via Event::add() ). An added event remains in pending state until the registered event occurs, thus turning it to active state. To handle events user may register a callback which is called when event becomes active. If event is configured persistent , it remains pending. If it is not persistent, it stops being pending when it's callback runs. Event::del() method deletes event, thus making it non-pending. By means of Event::add() method it could be added again.
Class synopsis
final class Event {
const int ET
= 32;
const int PERSIST
= 16;
const int READ
= 2;
const int WRITE
= 4;
const int SIGNAL
= 8;
const int TIMEOUT
= 1;
/* Properties */
public readonly bool $pending
;
/* Methods */
public add( float $timeout = ?): bool
public addSignal( float $timeout = ?): bool
public addTimer( float $timeout = ?): bool
public __construct(
EventBase $base ,
mixed $fd ,
int $what ,
callable $cb ,
mixed $arg = NULL
)
public del(): bool
public delSignal(): bool
public delTimer(): 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
}
Properties
pending
- Whether event is pending. See About event persistence .
Predefined Constants
Event::ET
Indicates that the event should be edge-triggered, if the underlying event base backend supports edge-triggered events. This affects the semantics of Event::READ and Event::WRITE .
Event::PERSIST
Indicates that the event is persistent. See About event persistence .
Event::READ
This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.
Event::WRITE
This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.
Event::SIGNAL
Used to implement signal detection. See "Constructing signal events" below.
Event::TIMEOUT
This flag indicates an event that becomes active after a timeout elapses.
The Event::TIMEOUT flag is ignored when constructing an event: one can either set a timeout when event is added , or not. It is set in the
$what
argument to the callback function when a timeout has occurred.
Table of Contents
- Event::add — Makes event pending
- Event::addSignal — Makes signal event pending
- Event::addTimer — Makes timer event pending
- Event::__construct — Constructs Event object
- Event::del — Makes event non-pending
- Event::delSignal — Makes signal event non-pending
- Event::delTimer — Makes timer event non-pending
- Event::free — Make event non-pending and free resources allocated for this event
- Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent
- Event::pending — Detects whether event is pending or scheduled
- Event::set — Re-configures event
- Event::setPriority — Set event priority
- Event::setTimer — Re-configures timer event
- Event::signal — Constructs signal event object
- Event::timer — Constructs timer event object
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/class.event.php
/* Constants */