From db498ef5e8b750958cfa18f9817ae0f849f7a981 Mon Sep 17 00:00:00 2001 From: nathan Date: Tue, 14 Mar 2023 08:51:01 +0800 Subject: [PATCH] feat: message payload --- src/component/ws/client.rs | 8 ++++---- src/component/ws/entities.rs | 4 ---- src/component/ws/mod.rs | 1 - src/component/ws/server.rs | 20 +++++--------------- 4 files changed, 9 insertions(+), 24 deletions(-) diff --git a/src/component/ws/client.rs b/src/component/ws/client.rs index 6687717c..1f0109c6 100644 --- a/src/component/ws/client.rs +++ b/src/component/ws/client.rs @@ -27,12 +27,12 @@ impl MessageReceivers { MessageReceivers::default() } - pub fn set(&mut self, channel: u8, receiver: Arc) { + pub fn insert(&mut self, channel: u8, receiver: Arc) { self.inner.insert(channel, receiver); } - pub fn get(&self, source: u8) -> Option> { - self.inner.get(&source).cloned() + pub fn get(&self, source: u8) -> Option<&Arc> { + self.inner.get(&source) } } @@ -102,7 +102,7 @@ impl StreamHandler> for WSClient { ctx.pong(&msg); } Ok(Pong(_msg)) => { - // tracing::debug!("Receive {} pong {:?}", &self.session_id, &msg); + tracing::trace!("Receive {} pong {:?}", &self.session_id, &msg); self.hb = Instant::now(); } Ok(Binary(bytes)) => { diff --git a/src/component/ws/entities.rs b/src/component/ws/entities.rs index ea4dd37e..d31c302e 100644 --- a/src/component/ws/entities.rs +++ b/src/component/ws/entities.rs @@ -69,10 +69,6 @@ pub struct SocketMessagePayload { } impl SocketMessagePayload { - pub fn to_bytes(&self) -> Vec { - bincode::serialize(self).unwrap() - } - pub fn from_bytes>(bytes: T) -> Self { bincode::deserialize(bytes.as_ref()).unwrap() } diff --git a/src/component/ws/mod.rs b/src/component/ws/mod.rs index f77b68e1..65125f13 100644 --- a/src/component/ws/mod.rs +++ b/src/component/ws/mod.rs @@ -9,4 +9,3 @@ pub use server::WSServer; pub(crate) const HEARTBEAT_INTERVAL: Duration = Duration::from_secs(8); pub(crate) const PING_TIMEOUT: Duration = Duration::from_secs(60); -pub(crate) const MAX_PAYLOAD_SIZE: usize = 262_144; // max payload size is 256k diff --git a/src/component/ws/server.rs b/src/component/ws/server.rs index fb714747..5cdb946a 100644 --- a/src/component/ws/server.rs +++ b/src/component/ws/server.rs @@ -1,18 +1,11 @@ -use crate::component::ws::entities::{ - Connect, Disconnect, Session, WSError, WSSessionId, WebSocketMessage, -}; +use crate::component::ws::entities::{Connect, Disconnect, WSError, WebSocketMessage}; use actix::{Actor, Context, Handler}; -use dashmap::DashMap; -pub struct WSServer { - sessions: DashMap, -} +pub struct WSServer {} impl std::default::Default for WSServer { fn default() -> Self { - Self { - sessions: DashMap::new(), - } + Self {} } } impl WSServer { @@ -32,17 +25,14 @@ impl Actor for WSServer { impl Handler for WSServer { type Result = Result<(), WSError>; - fn handle(&mut self, msg: Connect, _ctx: &mut Context) -> Self::Result { - let session: Session = msg.into(); - self.sessions.insert(session.id.clone(), session); + fn handle(&mut self, _msg: Connect, _ctx: &mut Context) -> Self::Result { Ok(()) } } impl Handler for WSServer { type Result = Result<(), WSError>; - fn handle(&mut self, msg: Disconnect, _: &mut Context) -> Self::Result { - self.sessions.remove(&msg.sid); + fn handle(&mut self, _msg: Disconnect, _: &mut Context) -> Self::Result { Ok(()) } }