Refactor VanguardHsPathBuilder::pick_path to be less complex
Currenty VanguardHsPathBuilder::pick_path
contains some rather complicated logic for selecting the hops for HS paths (see the many different RelayExclusion
rules). Moreover, the various RelayExclusion
we appliy there are duplicated in hspool.rs
, where we validate circuits and optionally extend them using the same logic as in VanguardHsPathBuilder::pick_path
.
We should refactor it so that it's less fragile and easier to follow.