aboutsummaryrefslogtreecommitdiffhomepage
path: root/assets/php/vendor/react/event-loop/src/Timer
diff options
context:
space:
mode:
Diffstat (limited to 'assets/php/vendor/react/event-loop/src/Timer')
-rwxr-xr-xassets/php/vendor/react/event-loop/src/Timer/Timer.php55
-rwxr-xr-xassets/php/vendor/react/event-loop/src/Timer/Timers.php109
2 files changed, 0 insertions, 164 deletions
diff --git a/assets/php/vendor/react/event-loop/src/Timer/Timer.php b/assets/php/vendor/react/event-loop/src/Timer/Timer.php
deleted file mode 100755
index da3602a..0000000
--- a/assets/php/vendor/react/event-loop/src/Timer/Timer.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?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;
- }
-}
diff --git a/assets/php/vendor/react/event-loop/src/Timer/Timers.php b/assets/php/vendor/react/event-loop/src/Timer/Timers.php
deleted file mode 100755
index 17bbdac..0000000
--- a/assets/php/vendor/react/event-loop/src/Timer/Timers.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-namespace React\EventLoop\Timer;
-
-use React\EventLoop\TimerInterface;
-use SplObjectStorage;
-use SplPriorityQueue;
-
-/**
- * A scheduler implementation that can hold multiple timer instances
- *
- * This class should only be used internally, see TimerInterface instead.
- *
- * @see TimerInterface
- * @internal
- */
-final class Timers
-{
- private $time;
- private $timers;
- private $scheduler;
-
- public function __construct()
- {
- $this->timers = new SplObjectStorage();
- $this->scheduler = new SplPriorityQueue();
- }
-
- public function updateTime()
- {
- return $this->time = microtime(true);
- }
-
- public function getTime()
- {
- return $this->time ?: $this->updateTime();
- }
-
- public function add(TimerInterface $timer)
- {
- $interval = $timer->getInterval();
- $scheduledAt = $interval + microtime(true);
-
- $this->timers->attach($timer, $scheduledAt);
- $this->scheduler->insert($timer, -$scheduledAt);
- }
-
- public function contains(TimerInterface $timer)
- {
- return $this->timers->contains($timer);
- }
-
- public function cancel(TimerInterface $timer)
- {
- $this->timers->detach($timer);
- }
-
- public function getFirst()
- {
- while ($this->scheduler->count()) {
- $timer = $this->scheduler->top();
-
- if ($this->timers->contains($timer)) {
- return $this->timers[$timer];
- }
-
- $this->scheduler->extract();
- }
-
- return null;
- }
-
- public function isEmpty()
- {
- return count($this->timers) === 0;
- }
-
- public function tick()
- {
- $time = $this->updateTime();
- $timers = $this->timers;
- $scheduler = $this->scheduler;
-
- while (!$scheduler->isEmpty()) {
- $timer = $scheduler->top();
-
- if (!isset($timers[$timer])) {
- $scheduler->extract();
- $timers->detach($timer);
-
- continue;
- }
-
- if ($timers[$timer] >= $time) {
- break;
- }
-
- $scheduler->extract();
- call_user_func($timer->getCallback(), $timer);
-
- if ($timer->isPeriodic() && isset($timers[$timer])) {
- $timers[$timer] = $scheduledAt = $timer->getInterval() + $time;
- $scheduler->insert($timer, -$scheduledAt);
- } else {
- $timers->detach($timer);
- }
- }
- }
-}