fn track_property_value_in_range(key: u64, value: u64) -> boolExpand description
Whether value is inside the range draft-18 allows for a Track Property
type that restricts one.
Two types do, and each answers anything outside its range with a session close. DEFAULT_PUBLISHER_GROUP_ORDER (0x22), Section 12.5: “The allowed values are Ascending (0x1) or Descending (0x2). If an endpoint receives a value outside this range, it MUST close the session with PROTOCOL_VIOLATION.” DYNAMIC_GROUPS (0x30), Section 12.6: “The allowed values are 0 or 1… If an endpoint receives a value larger than 1, it MUST close the session with PROTOCOL_VIOLATION.”
Both are Track Properties, so the list they arrive in is the one carried by a control message rather than the properties on an object.
DEFAULT_PUBLISHER_PRIORITY (0x0E) is not here. Section 12.4 says “Priorities above 255 are invalid” and stops, where the two above name a consequence in the next clause. A range stated without one is not a close.
The numbers belong to the Property registry and not the Message Parameter one. Type 0x22 is GROUP_ORDER as a parameter and DEFAULT_PUBLISHER_GROUP_ORDER as a property, and the two happen to permit the same pair of values while meaning different things — one subscriber’s preference against a property of the track. Reading either table for the other’s types would be right by accident here and wrong at the next entry.