The Event class

(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.

类摘要

finalclassEvent {
constintET = 32;
constintPERSIST = 16;
constintREAD = 2;
constintWRITE = 4;
constintSIGNAL = 8;
constintTIMEOUT = 1;
publicreadonlybool$pending;
publicadd(float$timeout = ?): bool
public__construct(
    EventBase$base,
    mixed$fd,
    int$what,
    callable$cb,
    mixed$arg = NULL
)
publicdel(): bool
publicfree(): void
publicstaticgetSupportedMethods(): array
publicpending(int$flags): bool
publicset(
    EventBase$base,
    mixed$fd,
    int$what = ?,
    callable$cb = ?,
    mixed$arg = ?
): bool
publicsetPriority(int$priority): bool
publicsetTimer(EventBase$base, callable$cb, mixed$arg = ?): bool
publicstaticsignal(
    EventBase$base,
    int$signum,
    callable$cb,
    mixed$arg = ?
): Event
publicstatictimer(EventBase$base, callable$cb, mixed$arg = ?): Event
}

属性

pending

Whether event is pending. See About event persistence .

预定义常量

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.

目录

To Top