|
@@ -5471,36 +5471,33 @@ download_status_schedule_get_delay(download_status_t *dls,
|
|
|
? dls->n_download_attempts
|
|
|
: dls->n_download_failures);
|
|
|
|
|
|
- {
|
|
|
-
|
|
|
-
|
|
|
- IF_BUG_ONCE(dls->last_backoff_position > dls_schedule_position) {
|
|
|
- dls->last_backoff_position = 0;
|
|
|
- dls->last_delay_used = 0;
|
|
|
- }
|
|
|
+
|
|
|
+ IF_BUG_ONCE(dls->last_backoff_position > dls_schedule_position) {
|
|
|
+ dls->last_backoff_position = 0;
|
|
|
+ dls->last_delay_used = 0;
|
|
|
+ }
|
|
|
|
|
|
- if (dls_schedule_position > 0) {
|
|
|
- delay = dls->last_delay_used;
|
|
|
+ if (dls_schedule_position > 0) {
|
|
|
+ delay = dls->last_delay_used;
|
|
|
|
|
|
- while (dls->last_backoff_position < dls_schedule_position) {
|
|
|
-
|
|
|
- delay = next_random_exponential_delay(delay, min_delay, max_delay);
|
|
|
-
|
|
|
- ++(dls->last_backoff_position);
|
|
|
- }
|
|
|
- } else {
|
|
|
-
|
|
|
- delay = min_delay;
|
|
|
+ while (dls->last_backoff_position < dls_schedule_position) {
|
|
|
+
|
|
|
+ delay = next_random_exponential_delay(delay, min_delay, max_delay);
|
|
|
+
|
|
|
+ ++(dls->last_backoff_position);
|
|
|
}
|
|
|
+ } else {
|
|
|
+
|
|
|
+ delay = min_delay;
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- if (min_delay >= 0 && delay < min_delay) delay = min_delay;
|
|
|
- if (max_delay != INT_MAX && delay > max_delay) delay = max_delay;
|
|
|
+
|
|
|
+ if (min_delay >= 0 && delay < min_delay) delay = min_delay;
|
|
|
+ if (max_delay != INT_MAX && delay > max_delay) delay = max_delay;
|
|
|
|
|
|
-
|
|
|
- dls->last_backoff_position = dls_schedule_position;
|
|
|
- dls->last_delay_used = delay;
|
|
|
- }
|
|
|
+
|
|
|
+ dls->last_backoff_position = dls_schedule_position;
|
|
|
+ dls->last_delay_used = delay;
|
|
|
|
|
|
|
|
|
* non-negative allows us to safely do the wrapping check below. */
|