示例#1
0
        private void HandlePeerDisconnected(object sender, EventArgs args)
        {
            if (sender is Peer peer)
            {
                peer.BlockRequested -= HandleBlockRequested;
                peer.BlockCancelled -= HandleBlockCancelled;
                peer.BlockReceived  -= HandleBlockReceived;
                peer.Disconnected   -= HandlePeerDisconnected;
                peer.StateChanged   -= HandlePeerStateChanged;

                Peers.TryRemove(peer.Key, out _);
                Seeders.TryRemove(peer.Key, out _);
                Leechers.TryRemove(peer.Key, out _);
            }
        }
示例#2
0
        private void HandlePeerDisconnected(object sender, EventArgs args)
        {
            var peer = sender as Peer;

            peer.BlockRequested -= HandleBlockRequested;
            peer.BlockCancelled -= HandleBlockCancelled;
            peer.BlockReceived  -= HandleBlockReceived;
            peer.Disconnected   -= HandlePeerDisconnected;
            peer.StateChanged   -= HandlePeerStateChanged;

            Peer tmp;

            Peers.TryRemove(peer.Key, out tmp);
            Seeders.TryRemove(peer.Key, out tmp);
            Leechers.TryRemove(peer.Key, out tmp);
        }