MCPcopy
hub / github.com/redis/go-redis / RetryBackoff

Function RetryBackoff

internal/internal.go:8–28  ·  view source on GitHub ↗
(retry int, minBackoff, maxBackoff time.Duration)

Source from the content-addressed store, hash-verified

6)
7
8func RetryBackoff(retry int, minBackoff, maxBackoff time.Duration) time.Duration {
9 if retry < 0 {
10 panic("not reached")
11 }
12 if minBackoff == 0 {
13 return 0
14 }
15
16 d := minBackoff << uint(retry)
17 if d < minBackoff {
18 return maxBackoff
19 }
20
21 d = minBackoff + time.Duration(rand.Int63n(int64(d)))
22
23 if d > maxBackoff || d < minBackoff {
24 d = maxBackoff
25 }
26
27 return d
28}

Callers 5

retryBackoffMethod · 0.92
retryBackoffMethod · 0.92
retryBackoffMethod · 0.92
TestRetryBackoffFunction · 0.85

Calls

no outgoing calls

Tested by 1

TestRetryBackoffFunction · 0.68