protected virtual void HandlePeerExchangeMessage(PeerId id, PeerExchangeMessage message)
{
// Ignore peer exchange messages on private torrents
if (id.TorrentManager.Torrent.IsPrivate || !id.TorrentManager.Settings.EnablePeerExchange)
{
return;
}
// If we already have lots of peers, don't process the messages anymore.
if ((Manager.Peers.AvailableCount + Manager.OpenConnections) >= _manager.Settings.MaxConnections)
{
return;
}
IList <Peer> peers = Peer.Decode(message.Added);
var count = id.TorrentManager.AddPeersCore(peers);
id.TorrentManager.RaisePeersFound(new PeerExchangePeersAdded(id.TorrentManager, count, peers.Count, id));
}