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
+1 -3
View File
@@ -27,9 +27,7 @@ class OnClose extends Callback
public function onHandler(Server $server, int $fd) public function onHandler(Server $server, int $fd)
{ {
try { try {
defer(function () { defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
$clientInfo = $server->getClientInfo($fd); $clientInfo = $server->getClientInfo($fd);
if (!Event::exists(($name = $this->getName($clientInfo)))) { if (!Event::exists(($name = $this->getName($clientInfo)))) {
return; return;
+2 -3
View File
@@ -26,9 +26,8 @@ class OnConnect extends Callback
public function onHandler(Server $server, int $fd, int $reactorId) public function onHandler(Server $server, int $fd, int $reactorId)
{ {
try { try {
defer(function () { defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
if (($clientInfo = $server->getClientInfo($fd, $reactorId)) === false) { if (($clientInfo = $server->getClientInfo($fd, $reactorId)) === false) {
return; return;
} }
+2 -3
View File
@@ -27,9 +27,8 @@ class OnFinish extends Callback
public function onHandler(Server $server, $task_id, $data) public function onHandler(Server $server, $task_id, $data)
{ {
try { try {
defer(function () { defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
fire(Event::TASK_FINISH, [$task_id, $data]); fire(Event::TASK_FINISH, [$task_id, $data]);
} catch (\Throwable $exception) { } catch (\Throwable $exception) {
$this->addError($exception, 'task'); $this->addError($exception, 'task');
+2 -3
View File
@@ -97,9 +97,8 @@ class OnHandshake extends Callback
public function onHandler(SRequest $request, SResponse $response): void public function onHandler(SRequest $request, SResponse $response): void
{ {
try { try {
defer(function () { defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
fire(Event::SYSTEM_RESOURCE_CLEAN);
});
$this->execute($request, $response); $this->execute($request, $response);
} catch (\Throwable $exception) { } catch (\Throwable $exception) {
$this->addError($exception, 'throwable'); $this->addError($exception, 'throwable');
+6 -10
View File
@@ -38,20 +38,14 @@ class OnMessage extends Callback
public function onHandler(Server $server, Frame $frame) public function onHandler(Server $server, Frame $frame)
{ {
try { try {
defer(function () { defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
fire(Event::SYSTEM_RESOURCE_CLEAN);
});
if ($frame->opcode === 0x08) { if ($frame->opcode === 0x08) {
return; return;
} }
$clientInfo = $server->getClientInfo($frame->fd); Event::trigger($this->getName($server, $frame), [$frame, $server]);
if (!Event::exists(($name = $this->getName($clientInfo)))) {
return;
}
Event::trigger($name, [$frame, $server]);
} catch (\Throwable $exception) { } catch (\Throwable $exception) {
$this->addError($exception, 'websocket'); $this->addError($exception, 'websocket');
if (!swoole()->exist($frame->fd)) { if (!swoole()->isEstablished($frame->fd)) {
return; return;
} }
$server->send($frame->fd, $exception->getMessage()); $server->send($frame->fd, $exception->getMessage());
@@ -63,8 +57,10 @@ class OnMessage extends Callback
* @param $clientInfo * @param $clientInfo
* @return string * @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; 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']]; [$host, $port] = [$clientInfo['address'], $clientInfo['port']];
try { try {
defer(function () { defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
$request = $this->_request($clientInfo, $server, $data); $request = $this->_request($clientInfo, $server, $data);
$router = Snowflake::app()->getRouter(); $router = Snowflake::app()->getRouter();
+2
View File
@@ -28,6 +28,8 @@ class OnPipeMessage extends Callback
*/ */
public function onHandler(Server $server, int $src_worker_id, $swollen_universalize) public function onHandler(Server $server, int $src_worker_id, $swollen_universalize)
{ {
defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
match ($swollen_universalize['action'] ?? null) { match ($swollen_universalize['action'] ?? null) {
'kafka' => $this->onKafkaWorker($swollen_universalize), 'kafka' => $this->onKafkaWorker($swollen_universalize),
'crontab' => $this->onCrontabWorker($swollen_universalize), 'crontab' => $this->onCrontabWorker($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 public function onHandler(Server $server, int $fd, int $reID, string $data): mixed
{ {
try { try {
defer(function () { defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
$request = $this->_request($fd, $data, $reID); $request = $this->_request($fd, $data, $reID);
if (($node = $this->router->find_path($request)) === null) { if (($node = $this->router->find_path($request)) === null) {
return $server->send($fd, Json::encode(['state' => 404])); 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 public function onHandler(Request $request, Response $response): mixed
{ {
try { try {
Coroutine::defer(function () { defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
/** @var HResponse $response */ /** @var HResponse $response */
[$request, $response] = OnRequest::createContext($request, $response); [$request, $response] = OnRequest::createContext($request, $response);
+2 -3
View File
@@ -102,9 +102,8 @@ class OnTask extends Callback
private function runTaskHandler($data): ?array private function runTaskHandler($data): ?array
{ {
try { try {
defer(function () { defer(fn() => fire(Event::SYSTEM_RESOURCE_RELEASES));
fire(Event::SYSTEM_RESOURCE_CLEAN);
});
$serialize = $this->before($data); $serialize = $this->before($data);
if ($serialize === null) { if ($serialize === null) {
throw new Exception('unpack error.'); throw new Exception('unpack error.');