original_string: protected function tick()
      {
          $time = microtime(true);
          foreach ($this->ticks as $name => $value) {
  
              /* @var TickInterface $tick */
              $tick     = $value['tick'];
              $interval = $tick->getInterval() >= $this->interval ? $tick->getInterval() : $this->interval;
              $diff     = ($time - $value['time']) * 1000;
  
              if ($diff >= $interval) {
  
                  try {
                      $tick->tick();
                  } catch (\Exception $e) {
                      $this->catchTickException($tick, $e);
                  }
  
                  $this->ticks[$name]['time'] = $time;
              }
  
          }
  
          usleep($this->interval * 1e3);
      }
code: protected function tick()
      {
          $time = microtime(true);
          foreach ($this->ticks as $name => $value) {
  
              /* @var TickInterface $tick */
              $tick     = $value['tick'];
              $interval = $tick->getInterval() >= $this->interval ? $tick->getInterval() : $this->interval;
              $diff     = ($time - $value['time']) * 1000;
  
              if ($diff >= $interval) {
  
                  try {
                      $tick->tick();
                  } catch (\Exception $e) {
                      $this->catchTickException($tick, $e);
                  }
  
                  $this->ticks[$name]['time'] = $time;
              }
  
          }
  
          usleep($this->interval * 1e3);
      }
code_tokens: protected function tick ( ) { $ time = microtime ( true ) ; foreach ( $ this -> ticks as $ name => $ value ) { /* @var TickInterface $tick */ $ tick = $ value [ 'tick' ] ; $ interval = $ tick -> getInterval ( ) >= $ this -> interval ? $ tick -> getInterval ( ) : $ this -> interval ; $ diff = ( $ time - $ value [ 'time' ] ) * 1000 ; if ( $ diff >= $ interval ) { try { $ tick -> tick ( ) ; } catch ( \ Exception $ e ) { $ this -> catchTickException ( $ tick , $ e ) ; } $ this -> ticks [ $ name ] [ 'time' ] = $ time ; } } usleep ( $ this -> interval * 1e3 ) ; }
docstring: Loop tick.
docstring_tokens: Loop tick .