Expand description
Draft-17 MoQT endpoint.
Major architectural differences from earlier drafts:
- Unified
Setupmessage (no separate CLIENT_SETUP / SERVER_SETUP). - Response messages (
SubscribeOk,PublishOk,FetchOk,PublishDone,RequestOk,RequestError) do NOT carry arequest_id. Each request opens its own bidirectional stream and its response arrives as the first message on that stream, so the stream itself identifies the request. The transport layer knows whichrequest_ideach bidi stream belongs to; callers must supply thatrequest_idviaEndpoint::receive_response_on_stream. - No
Unsubscribe,FetchCancel,MaxRequestId,RequestsBlocked,PublishNamespaceDone, orPublishNamespaceCancelmessages. - Request-producing messages (
Subscribe,Publish,Fetch,PublishNamespace,SubscribeNamespace,TrackStatus,RequestUpdate) gain arequired_request_id_deltafield. - New
PublishBlockedmessage notifies subscribers a publisher is blocked. NamespaceandNamespaceDoneare unsolicited announcements of namespace suffixes.
Structsยง
- Endpoint
- Fetch
Track ๐ - The track one fetch is for, which the fetchโs own state machine does not hold.
- Track
Binding ๐ - A Track Alias the peer has attached to a Full Track Name, and the request whose lifetime the attachment follows.
Enumsยง
- Binding
Kind ๐ - Which of the two sequences Section 5.1 names established the subscription that owns a binding, and so which state machine says whether it still has one.
- Endpoint
Error - Errors that can occur during endpoint operations.
Functionsยง
- prefixes_
overlap ๐ - Whether two namespace prefixes overlap.