Skip to content

GuardMgr: Almost finish wiring Bridges in as a guard substitute

Nick Mathewson requested to merge nickm/arti:guards_as_bridges_part4 into main

This is a long branch, but the individual changes should be straightforward.

In this branch, we teach GuardMgr most of how to consume and use a BridgeDescProvider and the bridge-related elements of GuardMgrConfig, including:

  • Getting a BridgeSet from the current BridgeDescProvider.
  • Storing bridge configurations and the bridge on/off setting.
  • Selecting guards from the correct Universe.
  • Returning the proper kind of FirstHop if a bridge can be used to build circuits.

There is a lot of refactoring in GuardMgr here too: hopefully for the better.

NOT in this branch:

  • Telling the BridgeDescProvider which descriptors we need.

Merge request reports