diff options
author | metamuffin <metamuffin@disroot.org> | 2022-09-07 18:05:27 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-09-07 18:05:27 +0200 |
commit | 88241946e3144fede5c86f98d00bb723c1cc2761 (patch) | |
tree | acd61d75fbd48d09ff76541ab15a9703d7c98652 /server/src/protocol.rs | |
parent | 3ce9a53e272dc556222bca747461b3ec24796912 (diff) | |
download | keks-meet-88241946e3144fede5c86f98d00bb723c1cc2761.tar keks-meet-88241946e3144fede5c86f98d00bb723c1cc2761.tar.bz2 keks-meet-88241946e3144fede5c86f98d00bb723c1cc2761.tar.zst |
compiler crash………
Diffstat (limited to 'server/src/protocol.rs')
-rw-r--r-- | server/src/protocol.rs | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/server/src/protocol.rs b/server/src/protocol.rs index d7e94d0..780ae4a 100644 --- a/server/src/protocol.rs +++ b/server/src/protocol.rs @@ -1,16 +1,43 @@ use serde::{Deserialize, Serialize}; -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] -pub enum ClientboundPacket {} +pub enum ClientboundPacket { + Init { + your_id: usize, + version: String, + }, + ClientJoin { + id: usize, + name: String, + }, + ClientLeave { + id: usize, + }, + Message { + sender: usize, + message: RelayMessage, + }, +} -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum ServerboundPacket { - Answer { receiver: usize }, + Relay { + recipient: Option<usize>, + message: RelayMessage, + }, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub enum RelayMessage { + Offer(RTCSessionDescriptionInit), + Answer(RTCSessionDescriptionInit), + IceCandidate(RTCIceCandidateInit), } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum RTCSdpType { Answer, @@ -18,13 +45,15 @@ pub enum RTCSdpType { PRAnswer, Rollback, } -#[derive(Debug, Serialize, Deserialize)] + +#[derive(Debug, Clone, Serialize, Deserialize)] pub struct RTCSessionDescriptionInit { sdp: String, #[serde(rename = "type")] ty: RTCSdpType, } -#[derive(Debug, Serialize, Deserialize)] + +#[derive(Debug, Clone, Serialize, Deserialize)] pub struct RTCIceCandidateInit { candidate: Option<String>, #[serde(rename = "sdpMLineIndex")] |