Skip to main content

check_sender_parameters

Function check_sender_parameters 

Source
fn check_sender_parameters(
    parameters: &[KeyValuePair],
    repeatable: &[u64],
) -> Result<(), CodecError>
Expand description

Refuse a parameter list a sender is not allowed to put on the wire.

Section 8.2: “Senders MUST NOT repeat the same parameter type in a message unless the parameter definition explicitly allows multiple instances of that type to be sent in a single message.”

This is the wider half of the rule. It names no exception for types the sender does not recognise, so every repeat is refused here except the ones repeatable lists. A caller holding a parameter this codec has never heard of still may not send it twice: code that scans a parameter list for a key takes whichever copy it meets first, so one frame carrying two values for one type is read differently by two conforming implementations, and that is true whoever defined the type.