From 0854161e99bfc3137f63bc84343021bd49c2bf54 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Sat, 16 Jun 2018 16:34:35 +1000 Subject: [PATCH] Clear accept limits when adding a new torrent --- client.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/client.go b/client.go index 038762a8..8811063a 100644 --- a/client.go +++ b/client.go @@ -1003,11 +1003,13 @@ func (cl *Client) AddTorrentInfoHashWithStorage(infoHash metainfo.Hash, specStor return } new = true + t = cl.newTorrent(infoHash, specStorage) cl.eachDhtServer(func(s *dht.Server) { go t.dhtAnnouncer(s) }) cl.torrents[infoHash] = t + cl.clearAcceptLimits() t.updateWantPeersEvent() // Tickle Client.waitAccept, new torrent may want conns. cl.event.Broadcast() @@ -1259,6 +1261,10 @@ func maskIpForAcceptLimiting(ip net.IP) net.IP { return ip } +func (cl *Client) clearAcceptLimits() { + cl.acceptLimiter = nil +} + func (cl *Client) acceptLimitClearer() { for { select { @@ -1266,7 +1272,7 @@ func (cl *Client) acceptLimitClearer() { return case <-time.After(15 * time.Minute): cl.mu.Lock() - cl.acceptLimiter = nil + cl.clearAcceptLimits() cl.mu.Unlock() } } -- 2.48.1