From 585926ebed8a8af2783d3cf06e56cfc52f95da11 Mon Sep 17 00:00:00 2001 From: michael-bailey Date: Mon, 15 Mar 2021 17:15:31 +0000 Subject: [PATCH] moving server changes to client manager --- src/lib/server/client_management/mod.rs | 27 ++++++++++--------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/lib/server/client_management/mod.rs b/src/lib/server/client_management/mod.rs index f95774c..c668a66 100644 --- a/src/lib/server/client_management/mod.rs +++ b/src/lib/server/client_management/mod.rs @@ -1,6 +1,7 @@ pub mod client; mod traits; +// use crate::lib::server::ServerMessages; use std::sync::Arc; use std::sync::Mutex; use std::sync::Weak; @@ -24,39 +25,33 @@ pub struct ClientManager { weak_self: Mutex>>, + // server_channel: Sender, + sender: Sender, receiver: Receiver, } impl ClientManager { - pub fn new() -> Arc { + pub fn new(/*server_channel: Sender */) -> Arc { - let channels = unbounded(); + let (sender, receiver) = unbounded(); - let manager_ref: Arc = Arc::new(ClientManager { + Arc::new(ClientManager { clients: Mutex::default(), weak_self: Mutex::default(), - sender: channels.0, - receiver: channels.1, - }); + // server_channel, - // get the reference - { - let mut lock = manager_ref.weak_self.lock().unwrap(); - let tmp = manager_ref.clone(); - *lock = Some(Arc::downgrade(&tmp)); - } - - manager_ref.set_ref(manager_ref.clone()); - manager_ref + sender, + receiver, + }) } fn set_ref(&self, reference: Arc) { let mut lock = self.weak_self.lock().unwrap(); *lock = Some(Arc::downgrade(&reference)); - } + } } impl TClientManager for ClientManager {