p2p: change ping ticker to timer (#15071)

Using a Timer over Ticker seems to be a lot better, though I cannot fully
account for why that it behaves so (since Ticker should be more bursty, but not
necessarily more active over time, but that may depend on how long window it
uses to decide on when to tick next)
This commit is contained in:
Martin Holst Swende 2017-09-04 09:24:52 +02:00 committed by Felix Lange
parent d70536b5d4
commit dc92779c0a

@ -190,7 +190,7 @@ loop:
} }
func (p *Peer) pingLoop() { func (p *Peer) pingLoop() {
ping := time.NewTicker(pingInterval) ping := time.NewTimer(pingInterval)
defer p.wg.Done() defer p.wg.Done()
defer ping.Stop() defer ping.Stop()
for { for {
@ -200,6 +200,7 @@ func (p *Peer) pingLoop() {
p.protoErr <- err p.protoErr <- err
return return
} }
ping.Reset(pingInterval)
case <-p.closed: case <-p.closed:
return return
} }