Expand description
Unified multi-draft entry-point types.
This module is the facade downstream consumers use to hold a MoQT
connection without caring which draft was negotiated.
It mirrors moqtap_codec::dispatch: one enum variant per enabled draft,
gated on its feature flag.
Four types live here:
AnyConnection— wraps a draft-specificConnection.AnyClientEvent— wraps a draft-specificClientEvent.AnyConnectionObserver— a trait that receivesAnyClientEvents. Attached to anAnyConnectionviaAnyConnection::set_observer, which installs a per-draft adapter on the inner connection.AnyRequest— what a request made throughAnyConnectionleaves the caller holding. Drafts 07-16 put every request on the one control stream and hand back only a request ID; from draft-17 on each request owns a bidirectional stream, and the handle owns that stream.
AnyConnection carries only the handful of protocol methods whose
arguments can be reconciled across every draft (subscribe, fetch,
track_status, subscribe_namespace). The rest differ too much in
signature — match on the variant to reach them.
Modules§
- Draft07 🔒
- Draft08 🔒
- Draft09 🔒
- Draft10 🔒
- Draft11 🔒
- Draft12 🔒
- Draft13 🔒
- Draft14 🔒
- Draft15 🔒
- Draft16 🔒
- Draft17 🔒
- Draft18 🔒
- Draft19 🔒
- Draft20 🔒
Macros§
- dispatch_
all 🔒 - Generates the
AnyConnectionandAnyClientEventenums plus the per-draft observer adapter, with one variant per enabled draft feature.
Structs§
- AnyClient
Config - Draft-agnostic client configuration. The exact per-draft
ClientConfigis constructed internally byAnyConnection::connectbased ondraft. - AnyConnection
Error - Error returned by
AnyConnection::connectandAnyConnection::recv_and_dispatch. Draft-specific errors are flattened to strings so callers don’t have to branch on draft to inspect errors. - Fetch
Range - The range one
AnyConnection::fetchasks for. - NoOp
Observer - A no-op observer that discards all events.
Enums§
- AnyClient
Event - An event from a MoQT connection of any enabled draft version.
- AnyConnection
- A MoQT client connection of any enabled draft version.
- AnyRequest
- A request made through
AnyConnection, in whichever form the negotiated draft carries it. - AnyTransport
Type - Draft-agnostic transport choice for
AnyConnection::connect. - Fetch
End - Where a FETCH’s range ends, said once in a way no draft can read two ways.
Traits§
- AnyConnection
Observer - Trait for receiving events from an
AnyConnection.