Lower exponents mean that delays do not vary as much. This helps test
networks bootstrap consistently.
Bugfix on 20499.
--- /dev/null
+ o Minor bugfixes (test networks, exponential backoff):
+ - When using exponential backoff in test networks, use a lower exponent,
+ so the delays do not vary as much. This helps test networks bootstrap
+ consistently. Fixes bug 20597; bugfix on 20499; not in any released
+ version of tor.
/* How much are we willing to add to the delay? */
int max_increment;
- const int multiplier = 3; /* no more than quadruple the previous delay */
+ int multiplier = 3; /* no more than quadruple the previous delay */
+ if (get_options()->TestingTorNetwork) {
+ /* Decrease the multiplier in testing networks. This reduces the variance,
+ * so that bootstrap is more reliable. */
+ multiplier = 2; /* no more than triple the previous delay */
+ }
if (delay && delay < (INT_MAX-1) / multiplier) {
max_increment = delay * multiplier;