<?php
/**
* * * * * * * *<4297088@qq.com>
* */
namespace cn\gz53\framework\sdk\loop;
use cn\gz53\framework\sdk\Sdk;
class WhileTrueSdk extends Sdk
{
private $runnerCallback;
private $initCallback;
private $config;
public function setConfig(WhileTrueConfigSetSdkI $po){
$this->config = $po->getConfig();
return true;
}
public function setInitCallback(WhileTrueInitCallbackSetSdkI $po){
$this->initCallback = $po->getInitCallback();
return true;
}
public function setRunnerCallback(WhileTrueRunnerCallbackSetSdkI $po){
$this->runnerCallback = $po->getRunnerCallback();
return true;
}
public function init(WhileTrueInitSdkI $po){
call_user_func($this->initCallback);
return true;
}
public function loop(WhileTrueLoopSdkI $po){
$router = $this->config['router'];
while (true) {
call_user_func($this->runnerCallback, $router);
}
return true;
}
}