send pexRequest to random peer in ensurePeers if no addrs to dial

This commit is contained in:
Ethan Buchman
2015-07-11 02:00:05 +00:00
parent 555dab4fd6
commit fca9e7f9ce

View File

@ -210,8 +210,13 @@ func (pexR *PEXReactor) ensurePeers() {
}(item.(*NetAddress)) }(item.(*NetAddress))
} }
// TODO: if no addresses to dial, we should send a pexRequest to a random peer // if no addresses to dial, pick a random connected peer and ask for more peers
// so we can get more peers if toDial.Size() == 0 {
peers := pexR.sw.Peers().List()
i := rand.Int() % len(peers)
log.Debug("No addresses to dial. Sending pexRequest to random peer", "peer", peers[i])
pexR.RequestPEX(peers[i])
}
} }
// implements events.Eventable // implements events.Eventable