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(); }
public static void OnError(this RouterComponent self, long id, int error) { RouterNode routerNode = self.GetChild <RouterNode>(id); if (routerNode == null) { return; } Log.Info($"router node remove: {routerNode.OuterConn} {routerNode.InnerConn} {error}"); self.Remove(id); }