in retryer.go [18:31]
func (r retryer[T]) Run() (T, error) {
t, err := r.function()
for err != nil {
if shouldRetry, duration := r.retryPolicy.ShouldRetry(err, r.retryReport.Count); shouldRetry {
r.retryReport.Count++
time.Sleep(duration)
t, err = r.function()
} else {
break
}
}
return t, err
}