pub(crate) fn distinct_first_relayers(paths: &[PathWithMetrics]) -> usizeExpand description
Number of distinct first relayers across paths.
The first relayer is the only node the destination gets to pick when it uses a SURB, so this is
the count that decides whether the return-path degradation detector has a sibling to corroborate
against: a value of 1 is the blind spot where a dead relayer is indistinguishable from a quiet
peer. Paths with no hops (path empty) contribute nothing — a 0-hop return has no relayer.