From 88241946e3144fede5c86f98d00bb723c1cc2761 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 7 Sep 2022 18:05:27 +0200 Subject: compiler crash……… MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/src/protocol.rs | 43 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) (limited to 'server/src/protocol.rs') 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, + 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, #[serde(rename = "sdpMLineIndex")] -- cgit v1.2.3-70-g09d2