@@ -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