Skip to main content

Module error_codes

Module error_codes 

Source
Expand description

Error, status and stream-reset code registries defined by draft-ietf-moq-transport-20.

One enum per registry in the IANA Considerations section (Section 15.11). The registry tables list only Name, Code and Specification; the per-code prose in the variant docs is taken from the section each row cites.

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.

Each of these four registries reserves 0x7f * N + 0x9D for greasing (Section 14). That is a range rather than an assignment, so it gets no variant and from_u64 reports it as unknown like any other unassigned value.

Code points inside a registry are not contiguous; the gaps are the draft’s.

§What draft-20 took out

Three code points that draft-19 assigned are unassigned here, and each is a hole rather than a renumbering — nothing moved into the space:

  • VERSION_NEGOTIATION_FAILED (session termination 0x15), draft-19: “The client didn’t offer a version supported by the server.” Version selection has happened in the ALPN since draft-15, so there is no in-band negotiation left to fail.
  • INVALID_JOINING_REQUEST_ID (REQUEST_ERROR 0x32), draft-19: “In response to a Joining FETCH, the referenced Request ID is not an Established Subscription.” Joining fetches went with the FETCH rewrite (Section 10.13).
  • SUBSCRIPTION_ENDED (PUBLISH_DONE 0x3), draft-19: “The publisher reached the end of an associated location filter.” Draft-20 Section 5.1.2 removed the behaviour with the code: “A publisher does not end a subscription solely because the Largest Object advances past the end of the current Location Filter.”

No code point was renumbered in any registry.

Enums§

PublishDoneStatusCode
PUBLISH_DONE codes (draft-20 Section 15.11.3).
RequestErrorCode
REQUEST_ERROR codes (draft-20 Section 15.11.2).
SessionErrorCode
Session termination error codes (draft-20 Section 15.11.1).
StreamResetErrorCode
Stream reset error codes (draft-20 Section 15.11.4).