Commit d3ed3285 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke

Merge pull request #733 from fjl/p2p-dial-timer

p2p: fix the dial timer
parents 545ff1e3 5528abc7
...@@ -359,9 +359,11 @@ func (srv *Server) dialLoop() { ...@@ -359,9 +359,11 @@ func (srv *Server) dialLoop() {
rand.Read(target[:]) rand.Read(target[:])
findresults <- srv.ntab.Lookup(target) findresults <- srv.ntab.Lookup(target)
}() }()
refresh.Stop() } else {
// Make sure we check again if the peer count falls
// below MaxPeers.
refresh.Reset(refreshPeersInterval)
} }
case dest := <-srv.peerConnect: case dest := <-srv.peerConnect:
dial(dest) dial(dest)
case dests := <-findresults: case dests := <-findresults:
...@@ -371,7 +373,10 @@ func (srv *Server) dialLoop() { ...@@ -371,7 +373,10 @@ func (srv *Server) dialLoop() {
refresh.Reset(refreshPeersInterval) refresh.Reset(refreshPeersInterval)
case dest := <-dialed: case dest := <-dialed:
delete(dialing, dest.ID) delete(dialing, dest.ID)
if len(dialing) == 0 {
// Check again immediately after dialing all current candidates.
refresh.Reset(0)
}
case <-srv.quit: case <-srv.quit:
// TODO: maybe wait for active dials // TODO: maybe wait for active dials
return return
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment