diff options
author | metamuffin <metamuffin@disroot.org> | 2022-09-16 23:15:51 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-09-16 23:15:51 +0200 |
commit | fd005b751d1abc0835c3812f4b12aed55e5aac1c (patch) | |
tree | 5c0b0628f2330b8bb24841d97b836033d151a2f9 /client-native-lib/src/protocol.rs | |
parent | ecd6ee088847a7068cb97a728b40450dc5e923b5 (diff) | |
download | keks-meet-fd005b751d1abc0835c3812f4b12aed55e5aac1c.tar keks-meet-fd005b751d1abc0835c3812f4b12aed55e5aac1c.tar.bz2 keks-meet-fd005b751d1abc0835c3812f4b12aed55e5aac1c.tar.zst |
dedup sdptype in rift too
Diffstat (limited to 'client-native-lib/src/protocol.rs')
-rw-r--r-- | client-native-lib/src/protocol.rs | 35 |
1 files changed, 26 insertions, 9 deletions
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 <metamuffin@disroot.org> */ 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<String>, + size: Option<usize>, } |