aboutsummaryrefslogtreecommitdiff
path: root/spec/path-spec/learning-timeouts.md
diff options
context:
space:
mode:
Diffstat (limited to 'spec/path-spec/learning-timeouts.md')
-rw-r--r--spec/path-spec/learning-timeouts.md16
1 files changed, 8 insertions, 8 deletions
diff --git a/spec/path-spec/learning-timeouts.md b/spec/path-spec/learning-timeouts.md
index e53ab66..3685274 100644
--- a/spec/path-spec/learning-timeouts.md
+++ b/spec/path-spec/learning-timeouts.md
@@ -1,13 +1,13 @@
<a id="path-spec.txt-2.4"></a>
-## Learning when to give up ("timeout") on circuit construction {#timing-out}
+# Learning when to give up ("timeout") on circuit construction {#timing-out}
Since version 0.2.2.8-alpha, Tor clients attempt to learn when to give
up on circuits based on network conditions.
<a id="path-spec.txt-2.4.1"></a>
-### Distribution choice
+## Distribution choice
Based on studies of build times, we found that the distribution of
circuit build times appears to be a Frechet distribution (and a multi-modal
@@ -19,7 +19,7 @@ distribution with a single Pareto curve.
<a id="path-spec.txt-2.4.2"></a>
-### How much data to record {#observations}
+## How much data to record {#observations}
From our observations, the minimum number of circuit build times for a
reasonable fit appears to be on the order of 100. However, to keep a
@@ -48,7 +48,7 @@ that build time binning is still needed for parameter estimation.
<a id="path-spec.txt-2.4.3"></a>
-### Parameter estimation
+## Parameter estimation
Once 'cbtmincircs' build times are recorded, Tor clients update the
distribution parameters and recompute the timeout every circuit completion
@@ -122,7 +122,7 @@ but at least 60 seconds:
<a id="path-spec.txt-2.4.3"></a>
-### Calculating timeouts thresholds for circuits of different lengths {#different-lengths}
+## Calculating timeouts thresholds for circuits of different lengths {#different-lengths}
The timeout_ms and close_ms estimates above are good only for 3-hop
circuits, since only 3-hop circuits are recorded in the list of build
@@ -145,7 +145,7 @@ required with the Xth hop.
<a id="path-spec.txt-2.4.4"></a>
-### How to record timeouts {#recording-timeouts}
+## How to record timeouts {#recording-timeouts}
Pareto estimators begin to lose their accuracy if the tail is omitted.
Hence, Tor clients actually calculate two timeouts: a usage timeout, and a
@@ -166,7 +166,7 @@ offline.
<a id="path-spec.txt-2.4.5"></a>
-### Detecting Changing Network Conditions {#changes-in-network}
+## Detecting Changing Network Conditions {#changes-in-network}
Tor clients attempt to detect both network connectivity loss and drastic
changes in the timeout characteristics.
@@ -187,7 +187,7 @@ we start with a new, empty state.
<a id="path-spec.txt-2.4.6"></a>
-### Consensus parameters governing behavior {#parameters}
+## Consensus parameters governing behavior {#parameters}
Clients that implement circuit build timeout learning should obey the
following consensus parameters that govern behavior, in order to allow