Skip to content

Implement full circuit-build-timeout logic

Tor has a complicated set of logic that measures how long circuits take to build, and then adjusts Tor's time-out requirements accordingly. This is important for performance (and possibily security) properties.

  • Basic pareto estimator backend
  • Set parameters from consensus
  • Record measurements from circuits as they are built.
  • Record timeouts from circuits as they time out.
  • Compute circuit timeouts correctly, given different circuit lengths.
  • Actually use timeout estimates to decide when to timeout/abandon a circuit.
  • Use correct "doubling" algorithm from path-spec 2.4.5.
  • Break histogram-bin ties correctly.
  • Make sure all consensus paremeters are implemented.
  • Ability to switch (or reconfigure) estimators while running
  • Actually use pareto estimator
  • Testing.

These are a bit tricky and will want to be separate tickets:

Edited by Nick Mathewson