mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
fixup! Remove the old ("deterministic") download schedule.
Un-indent a block. I'm doing this as a separate fixup commit to make review simpler.
This commit is contained in:
+26
-29
@@ -5471,37 +5471,34 @@ download_status_schedule_get_delay(download_status_t *dls,
|
||||
? dls->n_download_attempts
|
||||
: dls->n_download_failures);
|
||||
|
||||
{ // XXXX 23814 unindent.
|
||||
|
||||
/* Check if we missed a reset somehow */
|
||||
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;
|
||||
|
||||
while (dls->last_backoff_position < dls_schedule_position) {
|
||||
/* Do one increment step */
|
||||
delay = next_random_exponential_delay(delay, min_delay, max_delay);
|
||||
/* Update our position */
|
||||
++(dls->last_backoff_position);
|
||||
}
|
||||
} else {
|
||||
/* If we're just starting out, use the minimum delay */
|
||||
delay = min_delay;
|
||||
}
|
||||
|
||||
/* Clamp it within min/max if we have them */
|
||||
if (min_delay >= 0 && delay < min_delay) delay = min_delay;
|
||||
if (max_delay != INT_MAX && delay > max_delay) delay = max_delay;
|
||||
|
||||
/* Store it for next time */
|
||||
dls->last_backoff_position = dls_schedule_position;
|
||||
dls->last_delay_used = delay;
|
||||
/* Check if we missed a reset somehow */
|
||||
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;
|
||||
|
||||
while (dls->last_backoff_position < dls_schedule_position) {
|
||||
/* Do one increment step */
|
||||
delay = next_random_exponential_delay(delay, min_delay, max_delay);
|
||||
/* Update our position */
|
||||
++(dls->last_backoff_position);
|
||||
}
|
||||
} else {
|
||||
/* If we're just starting out, use the minimum delay */
|
||||
delay = min_delay;
|
||||
}
|
||||
|
||||
/* Clamp it within min/max if we have them */
|
||||
if (min_delay >= 0 && delay < min_delay) delay = min_delay;
|
||||
if (max_delay != INT_MAX && delay > max_delay) delay = max_delay;
|
||||
|
||||
/* Store it for next time */
|
||||
dls->last_backoff_position = dls_schedule_position;
|
||||
dls->last_delay_used = delay;
|
||||
|
||||
/* A negative delay makes no sense. Knowing that delay is
|
||||
* non-negative allows us to safely do the wrapping check below. */
|
||||
tor_assert(delay >= 0);
|
||||
|
||||
Reference in New Issue
Block a user