225
226
// NextBackOff returns the next delay interval. This is used by Retry to delay calling the operation again
227
>
func (r *retrierImpl) NextBackOff(err error) time.Duration {
retrypolicy.go
228
>
nextInterval := r.policy.ComputeNextDelay(r.getElapsedTime(), r.currentAttempt, err)
229
>
230
>
// Now increment the current attempt
231
>
r.currentAttempt++
232
>
return nextInterval
233
>
}
234
235
>
func (r *retrierImpl) getElapsedTime() time.Duration {
retrypolicy.go
236
>
return r.timeSource.Now().Sub(r.startTime)
237
>
}
238
239
var _ RetryPolicy = (*ErrorDependentRetryPolicy)(nil)