From: Matt Joiner Date: Sat, 16 Jun 2018 06:34:35 +0000 (+1000) Subject: Clear accept limits when adding a new torrent X-Git-Tag: v1.0.0~127^2~20 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=0854161e99bfc3137f63bc84343021bd49c2bf54;p=btrtrc.git Clear accept limits when adding a new torrent --- 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() } }