diff --git a/HttpServer/Abstracts/ServerBase.php b/HttpServer/Abstracts/ServerBase.php index 02d25565..5d136921 100644 --- a/HttpServer/Abstracts/ServerBase.php +++ b/HttpServer/Abstracts/ServerBase.php @@ -12,7 +12,7 @@ namespace HttpServer\Abstracts; use Swoole\WebSocket\Server; /** - * Class ServerBase + * Class ServerDefaultEvent * @package Snowflake\Snowflake\Server */ abstract class ServerBase extends HttpService diff --git a/Server/Manager/ServerBase.php b/Server/Manager/ServerDefaultEvent.php similarity index 71% rename from Server/Manager/ServerBase.php rename to Server/Manager/ServerDefaultEvent.php index 35343fa4..83ffed05 100644 --- a/Server/Manager/ServerBase.php +++ b/Server/Manager/ServerDefaultEvent.php @@ -4,13 +4,14 @@ namespace Server\Manager; use Server\Abstracts\Server; use Server\Constant; +use Server\SInterface\PipeMessage; /** - * Class ServerBase + * Class ServerDefaultEvent * @package Server\Manager */ -class ServerBase extends Server +class ServerDefaultEvent extends Server { @@ -39,6 +40,12 @@ class ServerBase extends Server */ public function onPipeMessage(\Swoole\Server $server, int $src_worker_id, mixed $message) { + if (is_null($message = unserialize($message))) { + return; + } + if (!is_object($message) || !($message instanceof PipeMessage)) { + return; + } $this->runEvent(Constant::PIPE_MESSAGE, null, [$server, $src_worker_id, $message]); } @@ -48,7 +55,7 @@ class ServerBase extends Server */ public function onBeforeReload(\Swoole\Server $server) { - $this->runEvent(Constant::PIPE_MESSAGE, null, [$server]); + $this->runEvent(Constant::BEFORE_RELOAD, null, [$server]); } @@ -57,7 +64,7 @@ class ServerBase extends Server */ public function onAfterReload(\Swoole\Server $server) { - $this->runEvent(Constant::PIPE_MESSAGE, null, [$server]); + $this->runEvent(Constant::AFTER_RELOAD, null, [$server]); } } diff --git a/Server/SInterface/PipeMessage.php b/Server/SInterface/PipeMessage.php new file mode 100644 index 00000000..06a01840 --- /dev/null +++ b/Server/SInterface/PipeMessage.php @@ -0,0 +1,13 @@ + 1 ], 'events' => [ - Constant::PIPE_MESSAGE => [ServerBase::class, 'onPipeMessage'], - Constant::SHUTDOWN => [ServerBase::class, 'onShutdown'], + 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 => [ServerBase::class, 'onBeforeReload'], - Constant::AFTER_RELOAD => [ServerBase::class, 'onAfterReload'], - Constant::START => [ServerBase::class, 'onStart'], + Constant::BEFORE_RELOAD => [ServerDefaultEvent::class, 'onBeforeReload'], + Constant::AFTER_RELOAD => [ServerDefaultEvent::class, 'onAfterReload'], + Constant::START => [ServerDefaultEvent::class, 'onStart'], ], 'ports' => [ [