Skip to main content

Module dispatch

Module dispatch 

Source
Expand description

Multi-draft entry-point types (AnyConnection, AnyClientEvent, AnyConnectionObserver) for downstream consumers that need to hold a connection without compile-time coupling to one draft. Unified multi-draft entry-point types.

This module is the facade downstream consumers (e.g. a CLI or desktop app) 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.

Three types live here:

  • AnyConnection — wraps a draft-specific Connection.
  • AnyClientEvent — wraps a draft-specific ClientEvent.
  • AnyConnectionObserver — a trait that receives AnyClientEvents. Attached to an AnyConnection via AnyConnection::set_observer, which installs a per-draft adapter on the inner connection.

Draft-specific protocol methods (e.g. subscribe, fetch) are not on AnyConnection because their signatures differ across drafts — match on the variant to reach them.

Modules§

Draft07 🔒
Draft08 🔒
Draft09 🔒
Draft10 🔒
Draft11 🔒
Draft12 🔒
Draft13 🔒
Draft14 🔒
Draft15 🔒
Draft16 🔒
Draft17 🔒

Macros§

dispatch_all 🔒
Generates the AnyConnection and AnyClientEvent enums plus the per-draft observer adapter, with one variant per enabled draft feature.

Structs§

NoOpObserver
A no-op observer that discards all events.

Enums§

AnyClientEvent
An event from a MoQT connection of any enabled draft version.
AnyConnection
A MoQT client connection of any enabled draft version.

Traits§

AnyConnectionObserver
Trait for receiving events from an AnyConnection.