<?php
/**
* * * * * * * *<4297088@qq.com>
* */
namespace cn\gz53\framework\service\server;
use cn\gz53\framework\dao\env\EnvCacheDao;
use cn\gz53\framework\dao\http\HttpRequestDao;
use cn\gz53\framework\dao\http\HttpResponseDao;
use cn\gz53\framework\dao\runner\RunnerDao;
use cn\gz53\framework\dao\script\ScriptServerConfigDao;
use cn\gz53\framework\dao\script\ScriptServerDao;
use cn\gz53\framework\model\bo\script\ScriptServerConfigLoadBo;
use cn\gz53\framework\model\bo\script\ScriptServerConfigSetBo;
use cn\gz53\framework\model\bo\script\ScriptServerInitBo;
use cn\gz53\framework\model\bo\script\ScriptServerLoopBo;
use cn\gz53\framework\model\bo\script\ScriptServerMessageSetBo;
use cn\gz53\framework\model\bo\script\ScriptServerRunnerSetBo;
use cn\gz53\framework\service\Service;
class ScriptServerService extends Service
{
public function loadConfig(){
$bo = ScriptServerConfigLoadBo::getInstance($this->_context);
$envCacheDao = EnvCacheDao::getInstance($this->_context);
$scriptServerConfigDao = ScriptServerConfigDao::getInstance($this->_context);
if(!$envCacheDao->getAbsoluteMainDeployPath($bo)){
return false;
}
if(!$scriptServerConfigDao->loadFromFile($bo)){
return false;
}
if(!$scriptServerConfigDao->storeToCache($bo)){
return false;
}
return true;
}
public function setConfig(){
$bo = ScriptServerConfigSetBo::getInstance($this->_context);
$scriptServerConfigDao = ScriptServerConfigDao::getInstance($this->_context);
$scriptServerDao = ScriptServerDao::getInstance($this->_context);
if(!$scriptServerConfigDao->getFromCache($bo)){
return false;
}
if(!$scriptServerDao->setConfig($bo)){
return false;
}
return true;
}
public function setMessage(){
$bo = ScriptServerMessageSetBo::getInstance($this->_context);
$httpRequestDao = HttpRequestDao::getInstance($this->_context);
$httpResponseDao = HttpResponseDao::getInstance($this->_context);
$scriptServerDao = ScriptServerDao::getInstance($this->_context);
if(!$httpRequestDao->getToRequestCallback($bo)){
return false;
}
if(!$httpResponseDao->getToResponseCallback($bo)){
return false;
}
if(!$scriptServerDao->setRequestCallback($bo)){
return false;
}
return true;
}
public function setInit(){
$bo = ScriptServerRunnerSetBo::getInstance($this->_context);
$runnerRunDao = RunnerDao::getInstance($this->_context);
$scriptServerDao = ScriptServerDao::getInstance($this->_context);
if(!$runnerRunDao->getInitCallback($bo)){
return false;
}
if(!$scriptServerDao->setInitCallback($bo)){
return false;
}
return true;
}
public function init(){
$bo = ScriptServerInitBo::getInstance($this->_context);
$httpRequestDao = HttpRequestDao::getInstance($this->_context);
$scriptServerDao = ScriptServerDao::getInstance($this->_context);
if(!$httpRequestDao->getRouter($bo)){
return false;
}
if(!$scriptServerDao->init($bo)){
return false;
}
return true;
}
public function run(){
$bo = ScriptServerLoopBo::getInstance($this->_context);
$scriptServerDao = ScriptServerDao::getInstance($this->_context);
if(!$scriptServerDao->run($bo)){
return false;
}
return true;
}
}