1.7 KiB
1.7 KiB
ECP-0066: iroh-Gossip Control Protocol For Hybrid MoQ Discovery
Status: Implemented
Decision
Add a first-party control protocol carried over iroh-gossip to advertise stream availability across multiple transport paths:
- MoQ relay (WebTransport URL + broadcast name + track),
- iroh direct (EndpointAddr + broadcast name + track).
ec-node will expose:
control-announce: publish control announcements to an iroh gossip topic.control-listen: subscribe to the topic and print announcements.- Optional integration in
wt-publishto announce relay-published streams via the same control topic.
Motivation
We currently have two transport worlds:
- relay-centric (
wt-publish), - direct iroh (
moq-publish/moq-subscribe).
Discovery is fragmented. A shared iroh control channel makes transport selection explicit and allows consumers to discover either path (or both) from one substrate.
Scope
In scope:
- New control protocol data types in
ec-core. - New
ControlGossiphelper inec-iroh. - New CLI surfaces in
ec-nodefor announce/listen. - Optional relay announcement from
wt-publish.
Out of scope:
- Policy engine for automatic best-path selection.
- Security policy beyond existing iroh/gossip trust boundaries.
- Replacing existing catalog gossip immediately (coexist first).
Alternatives considered
- Keep relay and direct discovery completely separate. Rejected because it forces duplicated consumer logic.
- Replace existing catalog gossip in one cutover. Rejected because additive coexistence is safer for rollout.
Rollout / Reversibility
- Additive and reversible: removing control commands and topic does not affect existing media paths.
- Existing MoQ publish/subscribe flows continue unchanged.