This commit is contained in:
as2252258@163.com
2021-05-04 01:33:08 +08:00
parent 5bbc190f8c
commit c3b67d5969
10 changed files with 28 additions and 39 deletions
+5 -7
View File
@@ -27,15 +27,13 @@ class OnClose extends Callback
public function onHandler(Server $server, int $fd)
{
try {
defer(function () {
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
$clientInfo = $server->getClientInfo($fd);
if (!Event::exists(($name = $this->getName($clientInfo)))) {
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
$clientInfo = $server->getClientInfo($fd);
if (!Event::exists(($name = $this->getName($clientInfo)))) {
return;
}
Event::trigger($name, [$server, $fd]);
} catch (\Throwable $exception) {
Event::trigger($name, [$server, $fd]);
} catch (\Throwable $exception) {
$this->addError($exception, 'throwable');
}
}
+2 -3
View File
@@ -26,9 +26,8 @@ class OnConnect extends Callback
public function onHandler(Server $server, int $fd, int $reactorId)
{
try {
defer(function () {
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
if (($clientInfo = $server->getClientInfo($fd, $reactorId)) === false) {
return;
}
+2 -3
View File
@@ -27,9 +27,8 @@ class OnFinish extends Callback
public function onHandler(Server $server, $task_id, $data)
{
try {
defer(function () {
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
fire(Event::TASK_FINISH, [$task_id, $data]);
} catch (\Throwable $exception) {
$this->addError($exception, 'task');
+2 -3
View File
@@ -97,9 +97,8 @@ class OnHandshake extends Callback
public function onHandler(SRequest $request, SResponse $response): void
{
try {
defer(function () {
fire(Event::SYSTEM_RESOURCE_CLEAN);
});
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
$this->execute($request, $response);
} catch (\Throwable $exception) {
$this->addError($exception, 'throwable');
+6 -10
View File
@@ -38,20 +38,14 @@ class OnMessage extends Callback
public function onHandler(Server $server, Frame $frame)
{
try {
defer(function () {
fire(Event::SYSTEM_RESOURCE_CLEAN);
});
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
if ($frame->opcode === 0x08) {
return;
}
$clientInfo = $server->getClientInfo($frame->fd);
if (!Event::exists(($name = $this->getName($clientInfo)))) {
return;
}
Event::trigger($name, [$frame, $server]);
Event::trigger($this->getName($server, $frame), [$frame, $server]);
} catch (\Throwable $exception) {
$this->addError($exception, 'websocket');
if (!swoole()->exist($frame->fd)) {
if (!swoole()->isEstablished($frame->fd)) {
return;
}
$server->send($frame->fd, $exception->getMessage());
@@ -63,8 +57,10 @@ class OnMessage extends Callback
* @param $clientInfo
* @return string
*/
private function getName($clientInfo): string
private function getName(Server $server, Frame $frame): string
{
$clientInfo = $server->getClientInfo($frame->fd);
return 'listen ' . $clientInfo['server_port'] . ' ' . Event::SERVER_MESSAGE;
}
+2 -3
View File
@@ -36,9 +36,8 @@ class OnPacket extends Callback
{
[$host, $port] = [$clientInfo['address'], $clientInfo['port']];
try {
defer(function () {
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
$request = $this->_request($clientInfo, $server, $data);
$router = Snowflake::app()->getRouter();
+3 -1
View File
@@ -28,7 +28,9 @@ class OnPipeMessage extends Callback
*/
public function onHandler(Server $server, int $src_worker_id, $swollen_universalize)
{
match ($swollen_universalize['action'] ?? null) {
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
match ($swollen_universalize['action'] ?? null) {
'kafka' => $this->onKafkaWorker($swollen_universalize),
'crontab' => $this->onCrontabWorker($swollen_universalize),
default => $this->onMessageWorker($server, $src_worker_id, $swollen_universalize)
+2 -3
View File
@@ -48,9 +48,8 @@ class OnReceive extends Callback
public function onHandler(Server $server, int $fd, int $reID, string $data): mixed
{
try {
defer(function () {
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
$request = $this->_request($fd, $data, $reID);
if (($node = $this->router->find_path($request)) === null) {
return $server->send($fd, Json::encode(['state' => 404]));
+2 -3
View File
@@ -51,9 +51,8 @@ class OnRequest extends Callback
public function onHandler(Request $request, Response $response): mixed
{
try {
Coroutine::defer(function () {
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
/** @var HResponse $response */
[$request, $response] = OnRequest::createContext($request, $response);
+2 -3
View File
@@ -102,9 +102,8 @@ class OnTask extends Callback
private function runTaskHandler($data): ?array
{
try {
defer(function () {
fire(Event::SYSTEM_RESOURCE_CLEAN);
});
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
$serialize = $this->before($data);
if ($serialize === null) {
throw new Exception('unpack error.');