public void AddNode(Node node) { //Add node if we are not already established or trying to establish if (!EstablishedPeers.ContainsKey(node.Id) && PendingPeers.All(p => p.Node.Id != node.Id) && NewNodes.All(n => n.Id != node.Id)) { NewNodes.Add(node); } }
public void RemoveNode(Node node) { Peer peer; if (EstablishedPeers.TryRemove(node.Id, out peer)) { peer.Session.Disconnect(); } }
public NodeAsync() { _self = new Node(); }