This commit is contained in:
2021-08-05 16:15:42 +08:00
parent dca2948371
commit 4b16d82bb9
8 changed files with 73 additions and 52 deletions
+47
View File
@@ -0,0 +1,47 @@
<?php
namespace Server\Manager;
use Annotation\Inject;
use Server\Abstracts\Server;
use Server\Constant;
use Exception;
use Server\Events\OnAfterRequest;
use Server\SInterface\PipeMessage;
use Snowflake\Events\EventDispatch;
/**
*
*/
class OnPipeMessage extends Server
{
/** @var EventDispatch */
#[Inject(EventDispatch::class)]
public EventDispatch $eventDispatch;
/**
* @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
]
);
}
}
@@ -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
@@ -7,10 +7,10 @@ use Server\Constant;
/**
* Class ServerManager
* Class OnServerManager
* @package Server\Manager
*/
class ServerManager extends Server
class OnServerManager extends Server
{