plugin/forward: min and max for avgRTT (#1680)

* Move to readtimeout

* lets compile

* address comment

* comment from pr

* much smaller minimum
This commit is contained in:
Miek Gieben 2018-04-16 19:51:49 +01:00 committed by John Belamaric
parent cd7928f180
commit 573ad62b77
2 changed files with 8 additions and 2 deletions

View file

@ -18,10 +18,14 @@ import (
func (p *Proxy) readTimeout() time.Duration {
rtt := time.Duration(atomic.LoadInt64(&p.avgRtt))
if rtt < timeout/2 {
if rtt < minTimeout {
return minTimeout
}
if rtt < maxTimeout/2 {
return 2 * rtt
}
return timeout
return maxTimeout
}
func (p *Proxy) updateRtt(newRtt time.Duration) {

View file

@ -91,5 +91,7 @@ func (p *Proxy) start(duration time.Duration) { p.probe.Start(duration) }
const (
dialTimeout = 4 * time.Second
timeout = 2 * time.Second
maxTimeout = 2 * time.Second
minTimeout = 10 * time.Millisecond
hcDuration = 500 * time.Millisecond
)