aboutsummaryrefslogtreecommitdiff
path: root/client-native-lib/src
diff options
context:
space:
mode:
Diffstat (limited to 'client-native-lib/src')
-rw-r--r--client-native-lib/src/instance.rs3
-rw-r--r--client-native-lib/src/protocol.rs5
-rw-r--r--client-native-lib/src/signaling.rs7
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