Skip to main content

validate_pix_supervision_pairing

Function validate_pix_supervision_pairing 

Source
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.