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.