Module timeouts

Source
Expand description

Code for estimating good values for circuit timeouts.

We need good circuit timeouts for two reasons: first, they help user experience. If user wait too long for their circuits, or if they use exceptionally slow circuits, then Tor will feel really slow. Second, these timeouts are actually a security property.

Modules§

estimator 🔒
Declarations for a TimeoutEstimator type that can change implementation.
pareto 🔒
Implement Tor’s sort-of-Pareto estimator for circuit build timeouts.
readonly 🔒
Implement a timeout estimator that just uses another process’s estimates.

Enums§

Action
A possible action for which we can try to estimate a timeout.

Traits§

TimeoutEstimator 🔒
An object that calculates circuit timeout thresholds from the history of circuit build times.

Functions§

mul_duration_f64_saturating 🔒
A safe variant of Duration::mul_f64 that never panics.