@@ -86,12 +86,18 @@ private function wrapStreamListener($stream, $listener, $flags)
86
86
87
87
public function addTimer ($ interval , $ callback )
88
88
{
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 );
90
93
}
91
94
92
95
public function addPeriodicTimer ($ interval , $ callback )
93
96
{
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 );
95
101
}
96
102
97
103
public function cancelTimer ($ signature )
@@ -100,16 +106,8 @@ public function cancelTimer($signature)
100
106
unset($ this ->timers [$ signature ]);
101
107
}
102
108
103
- private function createTimer ($ interval , $ callback , $ periodic )
109
+ private function createTimer ($ timer , $ interval , $ callback , $ periodic )
104
110
{
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
-
113
111
$ signature = spl_object_hash ($ timer );
114
112
$ callback = $ this ->wrapTimerCallback ($ signature , $ callback , $ periodic );
115
113
$ timer ->setCallback ($ callback );
0 commit comments