/** * Construct */ public function __construct() { parent::__construct(); $class = new \ReflectionClass('\\React\\EventLoop\\ExtEventLoop'); $property = $class->getProperty('eventBase'); $property->setAccessible(true); $this->_eventBase = $property->getValue($this); }
public function __construct() { $this->onStart = function () { win32_set_service_status(ServiceStatusConstants::RUNNING); }; $this->onLoop = function () { switch (win32_get_last_control_message()) { case ServiceControlMessageConstants::PRESHUTDOWN: case ServiceControlMessageConstants::SHUTDOWN: case ServiceControlMessageConstants::STOP: win32_set_service_status(ServiceStatusConstants::STOP_PENDING); $this->stop(); break; case ServiceControlMessageConstants::INTERROGATE: win32_set_service_status(ServiceStatusConstants::RUNNING); break; /*case ServiceControlMessageConstants::PAUSE; win32_set_service_status (ServiceStatusConstants::PAUSE_PENDING); win32_set_service_status (ServiceStatusConstants::PAUSED); break; case ServiceControlMessageConstants::CONTINUE_SERVICE; win32_set_service_status (ServiceStatusConstants::CONTINUE_PENDING); win32_set_service_status (ServiceStatusConstants::RUNNING); break;*/ /*case ServiceControlMessageConstants::PAUSE; win32_set_service_status (ServiceStatusConstants::PAUSE_PENDING); win32_set_service_status (ServiceStatusConstants::PAUSED); break; case ServiceControlMessageConstants::CONTINUE_SERVICE; win32_set_service_status (ServiceStatusConstants::CONTINUE_PENDING); win32_set_service_status (ServiceStatusConstants::RUNNING); break;*/ default: win32_set_service_status(ServiceStatusConstants::NOT_IMPLEMENTED); } }; $this->onStop = function () { win32_set_service_status(ServiceStatusConstants::STOPPED); }; register_shutdown_function($this->onStop); parent::__construct(); }