fn check_required_request_id_delta(
request_id: VarInt,
delta: VarInt,
) -> Result<(), CodecError>Expand description
Hold a request message’s Required Request ID Delta to the bound its own Request ID sets.
Draft-17 Section 9.2: “The Required Request ID is computed as: Required Request ID = Request ID - (2 x Required Request ID Delta)… An endpoint MUST close the session with INVALID_REQUIRED_REQUEST_ID if it receives a delta where 2 x Required Request ID Delta exceeds the Request ID.”
Both operands travel in the same message, so this is the one Required Request ID rule the codec can settle without any session state. Left unchecked, the subtraction underflows and any consumer computing the dependency gets a wrapped id rather than a session close. Draft-18 removed the field, so this is draft-17 only.