diff options
| -rw-r--r-- | mumd/src/network/tcp.rs | 6 | ||||
| -rw-r--r-- | mumd/src/state.rs | 1 |
2 files changed, 4 insertions, 3 deletions
diff --git a/mumd/src/network/tcp.rs b/mumd/src/network/tcp.rs index 3fc36a3..f86447b 100644 --- a/mumd/src/network/tcp.rs +++ b/mumd/src/network/tcp.rs @@ -82,14 +82,14 @@ async fn authenticate(sink: Arc<Mutex<TcpSender>>, username: String) { sink.lock().unwrap().send(msg.into()).await.unwrap(); } -//TODO move somewhere else (main?) and send through packet_sender -async fn send_pings(sink: Arc<Mutex<TcpSender>>, delay_seconds: u64) { +async fn send_pings(packet_sender: mpsc::UnboundedSender<ControlPacket<Serverbound>>, + delay_seconds: u64) { let mut interval = time::interval(Duration::from_secs(delay_seconds)); loop { interval.tick().await; trace!("Sending ping"); let msg = msgs::Ping::new(); - sink.lock().unwrap().send(msg.into()).await.unwrap(); + packet_sender.send(msg.into()).unwrap(); } } diff --git a/mumd/src/state.rs b/mumd/src/state.rs index 74b2037..cd266d7 100644 --- a/mumd/src/state.rs +++ b/mumd/src/state.rs @@ -90,6 +90,7 @@ impl State { pub fn audio(&self) -> &Audio { &self.audio } pub fn audio_mut(&mut self) -> &mut Audio { &mut self.audio } + pub fn packet_sender(&self) -> mpsc::UnboundedSender<ControlPacket<Serverbound>> { self.packet_sender.clone() } pub fn initialized_receiver(&self) -> watch::Receiver<bool> { self.initialized_watcher.1.clone() } pub fn server_mut(&mut self) -> &mut Server { &mut self.server } pub fn username(&self) -> &str { &self.username } |
