Files
kiri-core/http-server/Manager/OnPipeMessage.php
T

42 lines
782 B
PHP
Raw Normal View History

2021-08-05 16:15:42 +08:00
<?php
namespace Server\Manager;
use Annotation\Inject;
use Server\Abstracts\Server;
use Exception;
use Server\Events\OnAfterRequest;
use Server\SInterface\PipeMessage;
2021-08-11 01:04:57 +08:00
use Kiri\Events\EventDispatch;
2021-08-05 16:15:42 +08:00
/**
*
*/
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;
}
2021-08-05 16:56:42 +08:00
call_user_func([$message, 'process'], $server, $src_worker_id);
$this->eventDispatch->dispatch(new OnAfterRequest());
2021-08-05 16:15:42 +08:00
}
}