webrtc_signal_server/
lib.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Deserialize, Serialize)]
4pub struct SessionInfo {
5    pub session_id: String,
6    pub total: usize,
7    pub threshold: usize,
8    pub participants: Vec<String>,
9}
10
11#[derive(Debug, Deserialize, Serialize)]
12#[serde(tag = "type", rename_all = "snake_case")]
13pub enum ServerMsg {
14    Peers {
15        peers: Vec<String>,
16    },
17    Relay {
18        from: String,
19        data: serde_json::Value,
20    },
21    Error {
22        error: String,
23    },
24}
25
26#[derive(Debug, Deserialize, Serialize)]
27#[serde(tag = "type", rename_all = "snake_case")]
28pub enum ClientMsg {
29    Register { peer_id: String },
30    ListPeers,
31    Relay { to: String, data: serde_json::Value },
32}