From c752fe962df841b0cb811b09f155568735e7380c Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 14 Sep 2022 20:11:23 +0200 Subject: rename crate --- client-native-lib/src/protocol.rs | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 client-native-lib/src/protocol.rs (limited to 'client-native-lib/src/protocol.rs') diff --git a/client-native-lib/src/protocol.rs b/client-native-lib/src/protocol.rs new file mode 100644 index 0000000..431dc42 --- /dev/null +++ b/client-native-lib/src/protocol.rs @@ -0,0 +1,43 @@ +use serde::{Deserialize, Serialize}; +use webrtc::{ + ice_transport::ice_candidate::RTCIceCandidateInit, peer_connection::sdp::sdp_type::RTCSdpType, +}; + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub enum ClientboundPacket { + Init { your_id: usize, version: String }, + ClientJoin { id: usize }, + ClientLeave { id: usize }, + Message { sender: usize, message: String }, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub enum ServerboundPacket { + Ping, + Relay { + recipient: Option, + message: String, + }, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct RelayMessageWrapper { + pub sender: usize, // redundant, but ensures the server didnt cheat + pub inner: RelayMessage, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub enum RelayMessage { + Offer(RTCSessionDescriptionInit), + Answer(RTCSessionDescriptionInit), + IceCandidate(RTCIceCandidateInit), +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct RTCSessionDescriptionInit { + #[serde(rename = "type")] + pub ty: RTCSdpType, + pub sdp: String, +} -- cgit v1.2.3-70-g09d2