Skip to main content

d16_msg_param_name

Function d16_msg_param_name 

Source
fn d16_msg_param_name(key: u64) -> Option<&'static str>
Expand description

The nine Message Parameter Types draft-16 Section 13.2 Table 8 assigns.

Exactly the nine, and the same nine message.rs’s KNOWN_MESSAGE_PARAMETERS holds. Three more are easy to carry here by mistake — 0x04 as max_cache_duration, 0x0e as publisher_priority and 0x30 as dynamic_groups — because draft-15’s Table 10 really does have all three in this namespace.

Draft-16 did not delete those three; it moved them. 0x04 and 0x0e are MAX_CACHE_DURATION and DEFAULT_PUBLISHER_PRIORITY in Table 9’s Extension Header registry and 0x30 is DYNAMIC_GROUPS there, which is d16_track_ext_name’s table and not this one. PUBLISHER_PRIORITY as a Message Parameter is gone outright.

So the three names would be not merely unused but unreachable and wrong: draft-16 answers an unknown Message Parameter with a session close — Section 9.2, “An endpoint that receives an unknown Message Parameter MUST close the session with PROTOCOL_VIOLATION” — and decode_parameters applies it, so no decoded draft-16 message can carry one of these three keys in a Message Parameter list. A name this table gave them could only ever be read about a parameter the same file had already refused.