45 lines
1.5 KiB
Markdown
45 lines
1.5 KiB
Markdown
# ECP-0066: iroh-Gossip Control Protocol For Hybrid MoQ Discovery
|
|
|
|
Status: Draft
|
|
|
|
## 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:
|
|
|
|
1. `control-announce`: publish control announcements to an iroh gossip topic.
|
|
2. `control-listen`: subscribe to the topic and print announcements.
|
|
3. Optional integration in `wt-publish` to 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 `ControlGossip` helper in `ec-iroh`.
|
|
- New CLI surfaces in `ec-node` for 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).
|
|
|
|
## Rollout / Reversibility
|
|
|
|
- Additive and reversible: removing control commands and topic does not affect existing media paths.
|
|
- Existing MoQ publish/subscribe flows continue unchanged.
|