Ejemplo n.º 1
0
        private void RemoteNode_Disconnected(object sender, bool error)
        {
            RemotePeer remoteNode = (RemotePeer)sender;

            remoteNode.Disconnected      -= RemoteNode_Disconnected;
            remoteNode.InventoryReceived -= RemoteNode_InventoryReceived;
            remoteNode.PeersReceived     -= RemoteNode_PeersReceived;
            if (error && remoteNode.ListenerEndpoint != null)
            {
                lock (badPeers)
                {
                    badPeers.Add(remoteNode.ListenerEndpoint);
                }
            }
            lock (unconnectedPeers)
            {
                lock (connectedPeers)
                {
                    if (remoteNode.ListenerEndpoint != null)
                    {
                        unconnectedPeers.Remove(remoteNode.ListenerEndpoint);
                    }
                    connectedPeers.Remove(remoteNode);
                }
            }
        }
Ejemplo n.º 2
0
        private void OnConnected(RemotePeer remotePeer)
        {
            lock (connectedPeers)
            {
                connectedPeers.Add(remotePeer);
            }

            remotePeer.Disconnected      += RemoteNode_Disconnected;
            remotePeer.InventoryReceived += RemoteNode_InventoryReceived;
            remotePeer.PeersReceived     += RemoteNode_PeersReceived;
            remotePeer.StartProtocol();
        }