isEstablished($fd)) { return; } $manager = Snowflake::get()->annotation->get('websocket'); $name = $manager->getName(AWebsocket::CLOSE); } else if ($server instanceof HServer) { $manager = Snowflake::get()->annotation->get('http'); $name = $manager->getName(Annotation::CLOSE); } else { $manager = Snowflake::get()->annotation->get('tcp'); $name = $manager->getName(Tcp::CLOSE); } if (!$manager->has($name)) { return; } $manager->runWith($name, [$fd]); } catch (\Throwable $exception) { $this->addError($exception->getMessage()); } finally { $event = Snowflake::get()->event; $event->trigger(Event::RELEASE_ALL); $logger = Snowflake::get()->getLogger(); $logger->insert(); } } }