@@ -26,7 +26,7 @@ For the code of the current stable 0.4.x release, checkout the
2626 * [ ExtLibeventLoop] ( #extlibeventloop )
2727 * [ ExtLibevLoop] ( #extlibevloop )
2828 * [ LoopInterface] ( #loopinterface )
29- * [ addtimer ()] ( #addtimer )
29+ * [ addTimer ()] ( #addtimer )
3030 * [ addPeriodicTimer()] ( #addperiodictimer )
3131 * [ cancelTimer()] ( #canceltimer )
3232 * [ isTimerActive()] ( #istimeractive )
@@ -184,6 +184,15 @@ It is commonly installed as part of many PHP distributions.
184184If this extension is missing (or you're running on Windows), signal handling is
185185not supported and throws a ` BadMethodCallException ` instead.
186186
187+ This event loop is known to rely on wall-clock time to schedule future
188+ timers, because a monotonic time source is not available in PHP by default.
189+ While this does not affect many common use cases, this is an important
190+ distinction for programs that rely on a high time precision or on systems
191+ that are subject to discontinuous time adjustments (time jumps).
192+ This means that if you schedule a timer to trigger in 30s and then adjust
193+ your system time forward by 20s, the timer may trigger in 10s.
194+ See also [ ` addTimer() ` ] ( #addtimer ) for more details.
195+
187196#### ExtEventLoop
188197
189198An ` ext-event ` based event loop.
@@ -276,6 +285,17 @@ hello('Tester', $loop);
276285The execution order of timers scheduled to execute at the same time is
277286not guaranteed.
278287
288+ This interface suggests that event loop implementations SHOULD use a
289+ monotic time source if available. Given that a monotonic time source is
290+ not available on PHP by default, event loop implementations MAY fall back
291+ to using wall-clock time.
292+ While this does not affect many common use cases, this is an important
293+ distinction for programs that rely on a high time precision or on systems
294+ that are subject to discontinuous time adjustments (time jumps).
295+ This means that if you schedule a timer to trigger in 30s and then adjust
296+ your system time forward by 20s, the timer SHOULD still trigger in 30s.
297+ See also [ event loop implementations] ( #loop-implementations ) for more details.
298+
279299#### addPeriodicTimer()
280300
281301The ` addPeriodicTimer(float $interval, callable $callback): TimerInterface ` method can be used to
0 commit comments