12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace React\EventLoop\Timer;
- use React\EventLoop\TimerInterface;
- /**
- * The actual connection implementation for TimerInterface
- *
- * This class should only be used internally, see TimerInterface instead.
- *
- * @see TimerInterface
- * @internal
- */
- final class Timer implements TimerInterface
- {
- const MIN_INTERVAL = 0.000001;
- private $interval;
- private $callback;
- private $periodic;
- /**
- * Constructor initializes the fields of the Timer
- *
- * @param float $interval The interval after which this timer will execute, in seconds
- * @param callable $callback The callback that will be executed when this timer elapses
- * @param bool $periodic Whether the time is periodic
- */
- public function __construct($interval, $callback, $periodic = false)
- {
- if ($interval < self::MIN_INTERVAL) {
- $interval = self::MIN_INTERVAL;
- }
- $this->interval = (float) $interval;
- $this->callback = $callback;
- $this->periodic = (bool) $periodic;
- }
- public function getInterval()
- {
- return $this->interval;
- }
- public function getCallback()
- {
- return $this->callback;
- }
- public function isPeriodic()
- {
- return $this->periodic;
- }
- }
|