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()
return ip
}
+func (cl *Client) clearAcceptLimits() {
+ cl.acceptLimiter = nil
+}
+
func (cl *Client) acceptLimitClearer() {
for {
select {
return
case <-time.After(15 * time.Minute):
cl.mu.Lock()
- cl.acceptLimiter = nil
+ cl.clearAcceptLimits()
cl.mu.Unlock()
}
}