func (t *Torrent) addPeer(p Peer) {
cl := t.cl
- t.openNewConns()
- if len(t.peers) >= cl.config.TorrentPeersHighWater {
+ peersAddedBySource.Add(string(p.Source), 1)
+ if cl.badPeerIPPort(p.IP, p.Port) {
+ torrent.Add("peers not added because of bad addr", 1)
return
}
- key := peersKey{string(p.IP), p.Port}
- if _, ok := t.peers[key]; ok {
+ t.openNewConns()
+ if len(t.peers) >= cl.config.TorrentPeersHighWater {
return
}
- t.peers[key] = p
- peersAddedBySource.Add(string(p.Source), 1)
+ t.peers[peersKey{string(p.IP), p.Port}] = p
t.openNewConns()
}
func (t *Torrent) addPeers(peers []Peer) {
for _, p := range peers {
- if t.cl.badPeerIPPort(p.IP, p.Port) {
- continue
- }
t.addPeer(p)
}
}