Пример #1
0
        public void LeaveNode(string NID, NetPeer peer)
        {
            List <InterestNode> nodes = this.Nodes;

            lock (nodes)
            {
                InterestNode node = nodes.SingleOrDefault(n => n.NodeID == NID);
                if (node != null)
                {
                    node.UnSubscribe(peer);
                }
            }
        }
Пример #2
0
        public bool JoinNode(string NID, NetPeer peer)
        {
            List <InterestNode> nodes = this.Nodes;

            lock (nodes)
            {
                InterestNode node = nodes.SingleOrDefault(n => n.NodeID == NID);
                if (node == null)
                {
                    InterestNode item = new InterestNode(NID);
                    this.Nodes.Add(item);
                    item.Subscribe(peer);
                    return(false);
                }
                node.Subscribe(peer);
                return(true);
            }
        }
Пример #3
0
        // Methods
        public int GetNode(string NID)
        {
            InterestNode item = Nodes.SingleOrDefault(n => n.NodeID == NID);

            return((item != null) ? this.Nodes.IndexOf(item) : -1);
        }