tor-guardmgr: Replace vanguard heap with a simpler approach.
As mentioned in !2075 (comment 3016306) using a heap isn't the best way to manage the vanguards:
- in the default case, which will apply to most users, the L2 and L3 set sizes are 4 and 8 respectively. Using a heap doesn't make sense for such small sets
- the use of
Weak<TimeBoundVanguard>
s will be an inconvenience later on, when we implement vanguard set persistence, sinceWeak
isn't serializable or deserializable
This switches to a simpler apporach, where the VanguardMgr
computes
the soonest expiration timestamp of its VanguardSet
s by iterating
over all the vanguards in each set.
Assigning to @nickm since this is a follow-up from !2075 (merged)
Closes #1366 (closed)