1.3 KiB
1.3 KiB
ECP-0009: MoQ implementation selection
Status: Draft
Problem
We need a practical MoQ implementation to begin integration with iroh while the protocol evolves.
Survey (Rust implementations)
- moq-dev/moq: MoQ reference repository with Rust crates including
moq-lite,moq-relay, andhangcatalogs. - cloudflare/moq-rs: Rust implementation of the IETF MoQ Transport draft.
Decision
Start with moq-lite (from moq-dev/moq) and reuse the adapters proven by iroh-live:
web-transport-irohfor WebTransport-style bindings over iroh.iroh-moqfor creating MoQ sessions over iroh connections.
Track cloudflare/moq-rs in parallel for standards-aligned MoQ Transport and schedule
interoperability tests once we have live relays.
Alternatives considered
- Building a fresh MoQ stack: rejected due to duplication and slow iteration.
- Waiting for browser-native MoQ: rejected because it delays core network validation.
- Starting directly on cloudflare/moq-rs: deferred until we need draft-accurate transport.
Rollout / teardown
- Vendor or depend on
moq-rscrates. - Implement a minimal publish/subscribe pipeline over iroh.
- Re-evaluate once MoQ standardization and browser support stabilize.