Skip to main content

Module error_codes

Module error_codes 

Source
Expand description

Session termination, SUBSCRIBE_ERROR and SUBSCRIBE_DONE code registries. Error, status and termination code registries defined by MoQ Transport draft-07.

Draft-07 predates the IANA registries introduced in draft-14. Its code points live in inline two-column tables headed Code | Reason, and the draft assigns no ALLCAPS symbolic names — the Reason cell is the only label a code has. Variant names below are derived mechanically from that Reason text, and every variant doc quotes the Reason text in backticks so the mapping from draft row to Rust variant stays checkable by eye.

Where the draft says more about a code than the Reason cell, the variant doc carries that text and names the section it came from. How much exists differs sharply by table: section 3.5 continues past its table with a list defining seven of its eight codes, sections 6.1, 6.4, 6.16 and 6.20 state the rule for four more, and the SUBSCRIBE_DONE table has no supporting prose anywhere — each of its Reason strings occurs exactly once in the whole document, in the table itself.

from_u64 returns None for any value the draft does not assign. A peer may legitimately send a code from a later draft or a private extension, and an unrecognized code must not be a decode failure at this layer.

Draft-07 defines no reserved-for-greasing ranges; every row in all three tables is a single assigned code point.

Enums§

SessionErrorCode
Session termination codes, from draft-07 section 3.5 “Termination” (Table 1).
SubscribeDoneStatusCode
SUBSCRIBE_DONE status codes, from draft-07 section 5.1 “Subscriber Interactions” (Table 3).
SubscribeErrorCode
SUBSCRIBE_ERROR codes, from draft-07 section 5.1 “Subscriber Interactions” (Table 2).
TrackStatusCode
TRACK_STATUS Status Code values (draft-07, Section 6.23).