diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2020-10-13 23:58:51 +0200 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2020-10-13 23:58:51 +0200 |
| commit | ccd7cbac5e8080240988b01cc9f2e64af9082f5d (patch) | |
| tree | ad5c71ff8c6f3320e768adf5996407962ed64450 /mumd | |
| parent | 321d0400bb8760ab215a602cc74f36a2a7dd6788 (diff) | |
| download | mum-ccd7cbac5e8080240988b01cc9f2e64af9082f5d.tar.gz | |
send tcp pings via packet sender
Co-authored-by: Eskil Queseth <eskilq@kth.se>
Diffstat (limited to 'mumd')
| -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 } |
