diff options
author | metamuffin <metamuffin@disroot.org> | 2023-09-25 08:48:51 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-09-25 08:48:51 +0200 |
commit | 64c522aa063679678232e16a616b2a7ddd1d9b12 (patch) | |
tree | 7bed1b68100a58578a19a48387fbf8ed88f6e13c /client-native-lib/src | |
parent | c91c7d2db5c639aa2efd50e0376925f4f2a93bfa (diff) | |
download | keks-meet-64c522aa063679678232e16a616b2a7ddd1d9b12.tar keks-meet-64c522aa063679678232e16a616b2a7ddd1d9b12.tar.bz2 keks-meet-64c522aa063679678232e16a616b2a7ddd1d9b12.tar.zst |
update ptotocol spec for native-lib
Diffstat (limited to 'client-native-lib/src')
-rw-r--r-- | client-native-lib/src/instance.rs | 3 | ||||
-rw-r--r-- | client-native-lib/src/protocol.rs | 5 | ||||
-rw-r--r-- | client-native-lib/src/signaling.rs | 7 |
3 files changed, 10 insertions, 5 deletions
diff --git a/client-native-lib/src/instance.rs b/client-native-lib/src/instance.rs index 65104c1..56c9efa 100644 --- a/client-native-lib/src/instance.rs +++ b/client-native-lib/src/instance.rs @@ -30,7 +30,7 @@ pub struct Instance { impl Instance { pub async fn new(config: Config, event_handler: Arc<dyn EventHandler>) -> Arc<Self> { - let conn = signaling::SignalingConnection::new(&config.signaling_uri, &config.secret).await; + let conn = signaling::SignalingConnection::new(&config.signaling_uri).await; let key = crypto::Key::derive(&config.secret); Arc::new(Self { @@ -107,6 +107,7 @@ impl Instance { warn!("dropping packet with inconsistent sender") } } + protocol::ClientboundPacket::RoomInfo { .. } => {} } } diff --git a/client-native-lib/src/protocol.rs b/client-native-lib/src/protocol.rs index d53bf83..a5981e2 100644 --- a/client-native-lib/src/protocol.rs +++ b/client-native-lib/src/protocol.rs @@ -15,16 +15,21 @@ pub enum ClientboundPacket { ClientJoin { id: usize }, ClientLeave { id: usize }, Message { sender: usize, message: String }, + RoomInfo { hash: String, user_count: usize }, } #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum ServerboundPacket { + Join { + hash: Option<String>, + }, Ping, Relay { recipient: Option<usize>, message: String, }, + WatchRooms(Vec<String>), } #[derive(Debug, Clone, Serialize, Deserialize)] diff --git a/client-native-lib/src/signaling.rs b/client-native-lib/src/signaling.rs index 0531b27..67cdc4b 100644 --- a/client-native-lib/src/signaling.rs +++ b/client-native-lib/src/signaling.rs @@ -3,8 +3,7 @@ which is licensed under the GNU Affero General Public License (version 3); see /COPYING. Copyright (C) 2023 metamuffin <metamuffin.org> */ -use crate::protocol::ClientboundPacket; -use crate::{crypto::hash, protocol::ServerboundPacket}; +use crate::protocol::{ClientboundPacket, ServerboundPacket}; use futures_util::{Sink, SinkExt, Stream, StreamExt}; use log::{debug, error, info, trace}; use std::pin::Pin; @@ -26,8 +25,8 @@ pub struct SignalingConnection { } impl SignalingConnection { - pub async fn new(signaling_server: &str, secret: &str) -> Self { - let uri = format!("{signaling_server}/signaling/{}", hash(secret)); + pub async fn new(signaling_server: &str) -> Self { + let uri = format!("{signaling_server}/signaling"); info!("connecting to signaling server at {uri:?}"); let (conn, _) = tokio_tungstenite::connect_async(url::Url::parse(&uri).unwrap()) .await |