Пример #1
0
        private static void Remove(this RouterComponent self, long id)
        {
            RouterNode routerNode = self.GetChild <RouterNode>(id);

            if (routerNode == null)
            {
                return;
            }

            self.OuterNodes.Remove(routerNode.OuterConn);

            RouterNode connectRouterNode;

            if (self.ConnectIdNodes.TryGetValue(routerNode.ConnectId, out connectRouterNode))
            {
                if (connectRouterNode.Id == routerNode.Id)
                {
                    self.ConnectIdNodes.Remove(routerNode.ConnectId);
                }
            }

            Log.Info($"router remove: {routerNode.Id} outerConn: {routerNode.OuterConn} innerConn: {routerNode.InnerConn}");

            routerNode.Dispose();
        }