addPeriodicTimer() public method

The execution order of timers scheduled to execute at the same time is not guaranteed.
public addPeriodicTimer ( float $interval, callable $callback ) : Kraken\Loop\Timer\TimerInterface
$interval float
$callback callable
return Kraken\Loop\Timer\TimerInterface
Example #1
0
 /**
  * @override
  * @inheritDoc
  */
 public function addPeriodicTimer($interval, callable $callback)
 {
     return $this->loop->addPeriodicTimer($interval, $callback);
 }
Example #2
0
 /**
  * @dataProvider loopsProvider
  * @param LoopExtendedInterface|LoopModelInterface|mixed $loop
  */
 public function testApiAddPeriodicTimer_AddsPeriodicTimer($loop)
 {
     $cnt = 0;
     $loop->addPeriodicTimer(0.001, function () use($loop, &$cnt) {
         $cnt++;
         if ($cnt == 5) {
             $loop->stop();
         }
     });
     $loop->start();
     $this->assertEquals(5, $cnt);
     unset($loop);
 }