fn validate_pix_supervision_pairing(
cfg: &HoprProtocolConfig,
) -> Result<(), ValidationError>Expand description
Rejects a supervisor whose deadlines its own node’s reconstructor cannot honour.
The deadlines the Exit-side supervisor derives from incoming_session_pix_config have to agree
with the reconstructor’s lifetimes: a supervisor that waits longer than the reconstructor keeps
state is waiting on an SSA that can no longer be completed.
It lives on HoprProtocolConfig rather than beside the other incoming_session_pix_config
checks because the two halves are siblings, and a field validator sees only its own field. The
reconstructor became operator-settable under pix.reconstructor, and validating the supervisor
against SsaReconstructorConfig::default() from inside the sibling would then certify a pairing
the node does not run — passing for every operator who changed unused_verifier_lifetime or
max_ack_await_time, which are precisely the values this check is about. Reaching both is the
whole point, so the check has to sit where both are in scope.
ssa_reconstructor builds from the same field, so what is validated
here is what the node installs.