Skip to content

Commit ea39abe

Browse files
committed
[loop-libev] Refactor addTimer methods
1 parent f7a29fb commit ea39abe

1 file changed

Lines changed: 9 additions & 11 deletions

File tree

LibEvLoop.php

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,18 @@ private function wrapStreamListener($stream, $listener, $flags)
8686

8787
public function addTimer($interval, $callback)
8888
{
89-
return $this->createTimer($interval, $callback, 0);
89+
$dummyCallback = function () {};
90+
$timer = new \libev\TimerEvent($dummyCallback, $interval);
91+
92+
return $this->createTimer($timer, $interval, $callback, 0);
9093
}
9194

9295
public function addPeriodicTimer($interval, $callback)
9396
{
94-
return $this->createTimer($interval, $callback, 1);
97+
$dummyCallback = function () {};
98+
$timer = new \libev\PeriodicEvent($dummyCallback, 1, $interval);
99+
100+
return $this->createTimer($timer, $interval, $callback, 1);
95101
}
96102

97103
public function cancelTimer($signature)
@@ -100,16 +106,8 @@ public function cancelTimer($signature)
100106
unset($this->timers[$signature]);
101107
}
102108

103-
private function createTimer($interval, $callback, $periodic)
109+
private function createTimer($timer, $interval, $callback, $periodic)
104110
{
105-
$dummyCallback = function () {};
106-
107-
if ($periodic) {
108-
$timer = new \libev\PeriodicEvent($dummyCallback, 1, $interval);
109-
} else {
110-
$timer = new \libev\TimerEvent($dummyCallback, $interval);
111-
}
112-
113111
$signature = spl_object_hash($timer);
114112
$callback = $this->wrapTimerCallback($signature, $callback, $periodic);
115113
$timer->setCallback($callback);

0 commit comments

Comments
 (0)