From fd005b751d1abc0835c3812f4b12aed55e5aac1c Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 16 Sep 2022 23:15:51 +0200 Subject: dedup sdptype in rift too --- client-native-lib/src/protocol.rs | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) (limited to 'client-native-lib/src/protocol.rs') diff --git a/client-native-lib/src/protocol.rs b/client-native-lib/src/protocol.rs index 6b2bf5d..9573f51 100644 --- a/client-native-lib/src/protocol.rs +++ b/client-native-lib/src/protocol.rs @@ -4,9 +4,9 @@ Copyright (C) 2022 metamuffin */ use serde::{Deserialize, Serialize}; -use webrtc::{ - ice_transport::ice_candidate::RTCIceCandidateInit, peer_connection::sdp::sdp_type::RTCSdpType, -}; +use webrtc::ice_transport::ice_candidate::RTCIceCandidateInit; + +pub type Sdp = String; #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] @@ -34,15 +34,32 @@ pub struct RelayMessageWrapper { } #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] pub enum RelayMessage { - Offer(RTCSessionDescriptionInit), - Answer(RTCSessionDescriptionInit), + Chat(ChatMesssage), + Identify { username: String }, + + Provide(ProvideInfo), + Request { id: String }, + ProvideStop { id: String }, + RequestStop { id: String }, + + Offer(Sdp), + Answer(Sdp), IceCandidate(RTCIceCandidateInit), } #[derive(Debug, Clone, Serialize, Deserialize)] -pub struct RTCSessionDescriptionInit { - #[serde(rename = "type")] - pub ty: RTCSdpType, - pub sdp: String, +#[serde(rename_all = "snake_case")] +pub enum ChatMesssage { + Text(String), + Image(String), +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct ProvideInfo { + id: String, + kind: String, // TODO actually enum + label: Option, + size: Option, } -- cgit v1.2.3-70-g09d2