EVPERIODIC(3) 1 EVPERIODIC(3)
The EvPeriodic class
INTRODUCTION
Periodic watchers are also timers of a kind, but they are very versatile.
Unlike EvTimer , EvPeriodic watchers are not based on real time(or relative time, the physical time that passes) but on wall clock
time(absolute time, calendar or clock). The difference is that wall clock time can run faster or slower than real time, and time jumps are
not uncommon(e.g. when adjusting it).
EvPeriodic watcher can be configured to trigger after some specific point in time. For example, if an EvPeriodic watcher is configured to
trigger "in 10 seconds" (e.g. EvLoop::now + 10.0 , i.e. an absolute time, not a delay), and the system clock is reset to January of the
previous year , then it will take a year or more to trigger the event (unlike an EvTimer , which would still trigger roughly 10 seconds
after starting it as it uses a relative timeout).
As with timers, the callback is guaranteed to be invoked only when the point in time where it is supposed to trigger has passed. If multi-
ple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones with later time-
out values (but this is no longer true when a callback calls EvLoop::run recursively).
CLASS SYNOPSIS
EvPeriodic
EvPeriodicextends
EvWatcher
Properties
o public$offset
o public$interval
Inherited properties
o public$is_active
o public$data
o public$is_pending
o public$priority
Methods
o public void EvPeriodic::again (void )
o public double EvPeriodic::at (void )
o public EvPeriodic::__construct NULL (double $offset, string $interval, callable $reschedule_cb, callable $callback, [mixed $data],
[int $priority])
o finalpublicstatic EvPeriodic EvPeriodic::createStopped NULL (double $offset, double $interval, callable $reschedule_cb, callable
$callback, [mixed $data], [int $priority])
o public void EvPeriodic::set (double $offset, double $interval)
Inherited methods
o public int EvWatcher::clear (void )
o abstractpublic EvWatcher::__construct (void )
o public void EvWatcher::feed (int $revents)
o public EvLoop EvWatcher::getLoop (void )
o public void EvWatcher::invoke (int $revents)
o public bool EvWatcher::keepalive ([bool $value])
o public void EvWatcher::setCallback (callable $callback)
o public void EvWatcher::start (void )
o public void EvWatcher::stop (void )
PROPERTIES
o $offset
- When repeating, this contains the offset value, otherwise this is the absolute point in time(the offset value passed to EvPeri-
odic::set , although libev might modify this value for better numerical stability).
o $interval
- The current interval value. Can be modified any time, but changes only take effect when the periodic timer fires or EvPeri-
odic::again is being called.
PHP Documentation Group EVPERIODIC(3)