From ccd7cbac5e8080240988b01cc9f2e64af9082f5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Tue, 13 Oct 2020 23:58:51 +0200 Subject: send tcp pings via packet sender Co-authored-by: Eskil Queseth --- mumd/src/network/tcp.rs | 6 +++--- mumd/src/state.rs | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'mumd') 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>, 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>, delay_seconds: u64) { +async fn send_pings(packet_sender: mpsc::UnboundedSender>, + 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> { self.packet_sender.clone() } pub fn initialized_receiver(&self) -> watch::Receiver { self.initialized_watcher.1.clone() } pub fn server_mut(&mut self) -> &mut Server { &mut self.server } pub fn username(&self) -> &str { &self.username } -- cgit v1.2.1