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