From 4b16d82bb9473df6377c2dafdee5640111dc51d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Thu, 5 Aug 2021 16:15:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HttpServer/Abstracts/ServerBase.php | 2 +- Server/Manager/OnPipeMessage.php | 47 +++++++++++++++++++ ...erDefaultEvent.php => OnServerDefault.php} | 30 +----------- ...{ServerManager.php => OnServerManager.php} | 4 +- Server/ServerManager.php | 6 +-- .../Task/{ServerTask.php => OnServerTask.php} | 4 +- .../{ServerWorker.php => OnServerWorker.php} | 4 +- Server/server.php | 28 +++++------ 8 files changed, 73 insertions(+), 52 deletions(-) create mode 100644 Server/Manager/OnPipeMessage.php rename Server/Manager/{ServerDefaultEvent.php => OnServerDefault.php} (59%) rename Server/Manager/{ServerManager.php => OnServerManager.php} (90%) rename Server/Task/{ServerTask.php => OnServerTask.php} (97%) rename Server/Worker/{ServerWorker.php => OnServerWorker.php} (98%) diff --git a/HttpServer/Abstracts/ServerBase.php b/HttpServer/Abstracts/ServerBase.php index 5d136921..f79eebba 100644 --- a/HttpServer/Abstracts/ServerBase.php +++ b/HttpServer/Abstracts/ServerBase.php @@ -12,7 +12,7 @@ namespace HttpServer\Abstracts; use Swoole\WebSocket\Server; /** - * Class ServerDefaultEvent + * Class OnServerDefault * @package Snowflake\Snowflake\Server */ abstract class ServerBase extends HttpService diff --git a/Server/Manager/OnPipeMessage.php b/Server/Manager/OnPipeMessage.php new file mode 100644 index 00000000..d84dd869 --- /dev/null +++ b/Server/Manager/OnPipeMessage.php @@ -0,0 +1,47 @@ + $this->eventDispatch->dispatch(new OnAfterRequest())); + $this->runEvent(Constant::PIPE_MESSAGE, + function (\Swoole\Server $server, $src_worker_id, $message) { + call_user_func([$message, 'execute']); + }, [ + $server, $src_worker_id, $message + ] + ); + } + + +} diff --git a/Server/Manager/ServerDefaultEvent.php b/Server/Manager/OnServerDefault.php similarity index 59% rename from Server/Manager/ServerDefaultEvent.php rename to Server/Manager/OnServerDefault.php index 0ece113d..ba923623 100644 --- a/Server/Manager/ServerDefaultEvent.php +++ b/Server/Manager/OnServerDefault.php @@ -14,18 +14,13 @@ use Snowflake\Exception\ConfigException; /** - * Class ServerDefaultEvent + * Class OnServerDefault * @package Server\Manager */ -class ServerDefaultEvent extends Server +class OnServerDefault extends Server { - /** @var EventDispatch */ - #[Inject(EventDispatch::class)] - public EventDispatch $eventDispatch; - - /** * @param \Swoole\Server $server * @throws ConfigException @@ -47,27 +42,6 @@ class ServerDefaultEvent extends Server } - /** - * @param \Swoole\Server $server - * @param int $src_worker_id - * @param mixed $message - * @throws Exception - */ - public function onPipeMessage(\Swoole\Server $server, int $src_worker_id, mixed $message) - { - if (!is_object($message) || !($message instanceof PipeMessage)) { - return; - } - defer(fn() => $this->eventDispatch->dispatch(new OnAfterRequest())); - $this->runEvent(Constant::PIPE_MESSAGE, - function (\Swoole\Server $server, $src_worker_id, $message) { - call_user_func([$message, 'execute']); - }, [ - $server, $src_worker_id, $message - ] - ); - } - /** * @param \Swoole\Server $server diff --git a/Server/Manager/ServerManager.php b/Server/Manager/OnServerManager.php similarity index 90% rename from Server/Manager/ServerManager.php rename to Server/Manager/OnServerManager.php index 3a55c54e..dd69fc1f 100644 --- a/Server/Manager/ServerManager.php +++ b/Server/Manager/OnServerManager.php @@ -7,10 +7,10 @@ use Server\Constant; /** - * Class ServerManager + * Class OnServerManager * @package Server\Manager */ -class ServerManager extends Server +class OnServerManager extends Server { diff --git a/Server/ServerManager.php b/Server/ServerManager.php index 83700882..68456896 100644 --- a/Server/ServerManager.php +++ b/Server/ServerManager.php @@ -7,7 +7,7 @@ use Exception; use ReflectionException; use Server\SInterface\CustomProcess; use Server\SInterface\TaskExecute; -use Server\Task\ServerTask; +use Server\Task\OnServerTask; use Snowflake\Abstracts\Config; use Snowflake\Exception\ConfigException; use Snowflake\Exception\NotFindClassException; @@ -20,7 +20,7 @@ use Swoole\WebSocket\Server as WServer; /** - * Class ServerManager + * Class OnServerManager * @package HttpServer\Service */ class ServerManager extends Abstracts\Server @@ -403,7 +403,7 @@ class ServerManager extends Abstracts\Server private function addTaskListener(array $events = []): void { $task_use_object = $this->server->setting['task_object'] ?? $this->server->setting['task_use_object'] ?? false; - $reflect = Snowflake::getDi()->getReflect(ServerTask::class)?->newInstance(); + $reflect = Snowflake::getDi()->getReflect(OnServerTask::class)?->newInstance(); if ($task_use_object || $this->server->setting['task_enable_coroutine']) { $this->server->on('task', $events[Constant::TASK] ?? [$reflect, 'onCoroutineTask']); } else { diff --git a/Server/Task/ServerTask.php b/Server/Task/OnServerTask.php similarity index 97% rename from Server/Task/ServerTask.php rename to Server/Task/OnServerTask.php index c300c1d6..e6d8abc3 100644 --- a/Server/Task/ServerTask.php +++ b/Server/Task/OnServerTask.php @@ -12,10 +12,10 @@ use Swoole\Server; /** - * Class ServerTask + * Class OnServerTask * @package Server\Task */ -class ServerTask +class OnServerTask { diff --git a/Server/Worker/ServerWorker.php b/Server/Worker/OnServerWorker.php similarity index 98% rename from Server/Worker/ServerWorker.php rename to Server/Worker/OnServerWorker.php index 92f49bd5..e4b7235c 100644 --- a/Server/Worker/ServerWorker.php +++ b/Server/Worker/OnServerWorker.php @@ -23,10 +23,10 @@ use Swoole\Timer; /** - * Class ServerWorker + * Class OnServerWorker * @package Server\Worker */ -class ServerWorker extends \Server\Abstracts\Server +class OnServerWorker extends \Server\Abstracts\Server { diff --git a/Server/server.php b/Server/server.php index 9cac516f..914d5baf 100644 --- a/Server/server.php +++ b/Server/server.php @@ -3,12 +3,12 @@ use Server\Constant; use Server\HTTPServerListener; -use Server\Manager\ServerDefaultEvent; -use Server\Manager\ServerManager; +use Server\Manager\OnServerDefault; +use Server\Manager\OnServerManager; use Server\TCPServerListener; use Server\UDPServerListener; use Server\WebSocketServerListener; -use Server\Worker\ServerWorker; +use Server\Worker\OnServerWorker; return [ 'server' => [ @@ -33,17 +33,17 @@ return [ 'tcp_defer_accept' => 1 ], 'events' => [ - Constant::PIPE_MESSAGE => [ServerDefaultEvent::class, 'onPipeMessage'], - Constant::SHUTDOWN => [ServerDefaultEvent::class, 'onShutdown'], - Constant::WORKER_START => [ServerWorker::class, 'onWorkerStart'], - Constant::WORKER_ERROR => [ServerWorker::class, 'onWorkerError'], - Constant::WORKER_EXIT => [ServerWorker::class, 'onWorkerExit'], - Constant::WORKER_STOP => [ServerWorker::class, 'onWorkerStop'], - Constant::MANAGER_START => [ServerManager::class, 'onManagerStart'], - Constant::MANAGER_STOP => [ServerManager::class, 'onManagerStop'], - Constant::BEFORE_RELOAD => [ServerDefaultEvent::class, 'onBeforeReload'], - Constant::AFTER_RELOAD => [ServerDefaultEvent::class, 'onAfterReload'], - Constant::START => [ServerDefaultEvent::class, 'onStart'], + Constant::PIPE_MESSAGE => [OnServerDefault::class, 'onPipeMessage'], + Constant::SHUTDOWN => [OnServerDefault::class, 'onShutdown'], + Constant::WORKER_START => [OnServerWorker::class, 'onWorkerStart'], + Constant::WORKER_ERROR => [OnServerWorker::class, 'onWorkerError'], + Constant::WORKER_EXIT => [OnServerWorker::class, 'onWorkerExit'], + Constant::WORKER_STOP => [OnServerWorker::class, 'onWorkerStop'], + Constant::MANAGER_START => [OnServerManager::class, 'onManagerStart'], + Constant::MANAGER_STOP => [OnServerManager::class, 'onManagerStop'], + Constant::BEFORE_RELOAD => [OnServerDefault::class, 'onBeforeReload'], + Constant::AFTER_RELOAD => [OnServerDefault::class, 'onAfterReload'], + Constant::START => [OnServerDefault::class, 'onStart'], ], 'ports' => [ [