control: add iroh gossip transport announcements and ec-node control CLI
This commit is contained in:
parent
fba1f3a7d5
commit
fe97623ba8
5 changed files with 494 additions and 23 deletions
|
|
@ -183,6 +183,32 @@ pub struct StreamCatalog {
|
|||
pub entries: Vec<StreamCatalogEntry>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
#[serde(tag = "kind", rename_all = "snake_case")]
|
||||
pub enum StreamTransportDescriptor {
|
||||
/// Stream is available via a MoQ relay over WebTransport/WebSocket.
|
||||
RelayMoq {
|
||||
url: String,
|
||||
broadcast_name: String,
|
||||
track_name: String,
|
||||
},
|
||||
/// Stream is available via iroh direct MoQ.
|
||||
IrohDirect {
|
||||
endpoint: String,
|
||||
broadcast_name: String,
|
||||
track_name: String,
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct StreamControlAnnouncement {
|
||||
pub stream: StreamDescriptor,
|
||||
pub transports: Vec<StreamTransportDescriptor>,
|
||||
pub updated_unix_ms: u64,
|
||||
/// Suggested freshness window for this announcement.
|
||||
pub ttl_ms: u64,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct ManifestSummary {
|
||||
pub manifest_id: String,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue