Skip to main content

host_extensions/protocol/
channel.rs

1/// Signaling channel for directed media signals (offer/answer/ICE).
2///
3/// Each peer publishes on `signal_channel(app, local, remote)` and
4/// subscribes on `signal_channel(app, remote, local)`.
5pub fn media_signal_channel(app_id: &str, from: &str, to: &str) -> String {
6    format!("{app_id}-media-from-{from}-to-{to}")
7}
8
9/// Ring channel for incoming call notifications.
10pub fn media_ring_channel(app_id: &str, peer_id: &str) -> String {
11    format!("{app_id}-media-ring-{peer_id}")
12}
13
14/// Data offer channel (initiator → receiver).
15pub fn data_offer_channel(app_id: &str, target_peer: &str) -> String {
16    format!("{app_id}-data-offer-to-{}", target_peer.to_lowercase())
17}
18
19/// Data answer channel (receiver → initiator).
20pub fn data_answer_channel(app_id: &str, target_peer: &str) -> String {
21    format!("{app_id}-data-answer-to-{}", target_peer.to_lowercase())
22}