2020-09-01 20:00:49 +00:00
|
|
|
The forwardRetry RetryDecider keeps retrying a transfer as long as at least
|
|
|
|
one more byte got transferred than in the previous, failed try.
|
|
|
|
|
|
|
|
Suppose that a transfer was restarting from the beginning each time, and it
|
|
|
|
just so happened that each try got a tiny little bit further before
|
|
|
|
failing. Then transferring an `N` byte object could result in `sum [1..N]`
|
|
|
|
bytes being sent. Worst case.
|
|
|
|
|
|
|
|
So I think forwardRetry should cap after some amount of automatic retrying.
|
|
|
|
Ie, it could give up after 5 retries. --[[Joey]]
|
2020-09-01 20:04:40 +00:00
|
|
|
|
|
|
|
Of course, the real use case for forwardRetry is remotes that use eg, rsync
|
|
|
|
and can really resume at the last byte. But, forwardRetry can't tell
|
|
|
|
if a remote is doing that (unless some timing heuristics were used). Around
|
|
|
|
5 retries seems fairly reasonable for that case too, it would be unlikely
|
|
|
|
for a rsync transfer to keep failing so many times while still making
|
|
|
|
forward progess. --[[Joey]]
|