add_idle() public method

Adds a new function to idle the engine.
public add_idle ( SIG_Routine $routine ) : void
$routine SIG_Routine
return void
コード例 #1
0
ファイル: sig_awake.php プロジェクト: prggmr/xpspl
 /**
  * Runs the routine.
  *
  * This checks if the appriorate amount of time has passed and emits the 
  * awake signal if so.
  * 
  * @return  boolean
  */
 public function routine(\XPSPL\Routine $routine = null)
 {
     if ($this->get_idle()->has_time_passed()) {
         $routine->add_signal($this);
         $this->get_idle()->set_time($this->_time);
     }
     $routine->add_idle($this);
     return true;
 }
コード例 #2
0
ファイル: sig_cron.php プロジェクト: prggmr/xpspl
 /**
  * Determines when the time signal should fire, otherwise returning
  * the processor to idle until it will.
  * 
  * @return  integer
  */
 public function routine(\XPSPL\Routine $routine = null)
 {
     if ($this->get_idle()->has_time_passed()) {
         $this->_next_run = $this->_cron->getNextRunDate()->getTimestamp();
         $routine->add_signal($this);
     }
     $this->get_idle()->set_time($this->_next_run - time());
     $routine->add_idle($this);
     return true;
 }
コード例 #3
0
ファイル: socket.php プロジェクト: prggmr/xpspl
 /**
  * Registers the idle process.
  *
  * @return  void
  */
 public function routine(\XPSPL\Routine $routine)
 {
     if (null === $this->_connection) {
         $this->_connect();
         $routine->add_signal(new SIG_Connect($this->_connection));
     }
     $routine->add_idle($this);
 }
コード例 #4
0
ファイル: routine.php プロジェクト: prggmr/xpspl
 /**
  * Run the idle function.
  */
 public function routine(\XPSPL\Routine $routine)
 {
     // TODO - Add function to fetch lowest idle time
     $routine->add_idle($this);
 }
コード例 #5
0
ファイル: sig_upload.php プロジェクト: prggmr/xpspl
 public function routine(\XPSPL\Routine $routine)
 {
     if (count($this->_files) > 0 || count($this->_uploading) > 0) {
         $routine->add_idle($this);
     }
 }