From b5d70683126959d91b1c816b982e7ea7d8126693 Mon Sep 17 00:00:00 2001 From: Will Scott Date: Thu, 2 Apr 2020 11:53:58 -0700 Subject: [PATCH] don't expire backoffs until 2x backoff period --- swarm_dial.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/swarm_dial.go b/swarm_dial.go index 970cf01..cae4110 100644 --- a/swarm_dial.go +++ b/swarm_dial.go @@ -196,7 +196,11 @@ func (db *DialBackoff) cleanup() { for p, e := range db.entries { good := false for _, backoff := range e { - if now.Before(backoff.until) { + backoffTime := BackoffBase + BackoffCoef*time.Duration(backoff.tries*backoff.tries) + if backoffTime > BackoffMax { + backoffTime = BackoffMax + } + if now.Before(backoff.until.Add(backoffTime)) { good = true break } -- GitLab