aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEskil Q <eskilq@kth.se>2021-01-07 12:02:43 +0100
committerEskil Q <eskilq@kth.se>2021-01-07 12:02:43 +0100
commit8b042801d090e1a17ca72ddb559d92ccbbb41091 (patch)
tree9811eb00656e3083458db5a2cf48e26dba86bbc8
parent215689a4fb9fd6fa8dbfd263fcbf7b59b04942e5 (diff)
downloadmum-8b042801d090e1a17ca72ddb559d92ccbbb41091.tar.gz
update according to feedback
-rw-r--r--mumd/src/audio.rs2
-rw-r--r--mumd/src/network.rs5
-rw-r--r--mumd/src/network/tcp.rs5
-rw-r--r--mumd/src/network/udp.rs8
4 files changed, 8 insertions, 12 deletions
diff --git a/mumd/src/audio.rs b/mumd/src/audio.rs
index bdc8377..598dde6 100644
--- a/mumd/src/audio.rs
+++ b/mumd/src/audio.rs
@@ -31,7 +31,7 @@ use std::{
};
use strum::IntoEnumIterator;
use strum_macros::EnumIter;
-use tokio::sync::{watch};
+use tokio::sync::watch;
const SAMPLE_RATE: u32 = 48000;
diff --git a/mumd/src/network.rs b/mumd/src/network.rs
index 75b983e..9463ad7 100644
--- a/mumd/src/network.rs
+++ b/mumd/src/network.rs
@@ -1,16 +1,15 @@
pub mod tcp;
pub mod udp;
-use std::net::SocketAddr;
-
use futures::Future;
use futures::FutureExt;
use futures::channel::oneshot;
use futures::join;
use futures::pin_mut;
use futures::select;
-use tokio::sync::watch;
use log::*;
+use std::net::SocketAddr;
+use tokio::sync::watch;
use crate::state::StatePhase;
diff --git a/mumd/src/network/tcp.rs b/mumd/src/network/tcp.rs
index 6f18473..3e4cbf3 100644
--- a/mumd/src/network/tcp.rs
+++ b/mumd/src/network/tcp.rs
@@ -1,9 +1,8 @@
use crate::network::ConnectionInfo;
use crate::state::{State, StatePhase};
-use futures::Stream;
use log::*;
-use futures::{join, SinkExt, StreamExt};
+use futures::{join, SinkExt, Stream, StreamExt};
use futures_util::stream::{SplitSink, SplitStream};
use mumble_protocol::control::{msgs, ClientControlCodec, ControlCodec, ControlPacket};
use mumble_protocol::crypt::ClientCryptState;
@@ -145,7 +144,7 @@ async fn send_pings(
async {
loop {
interval.tick().await;
- trace!("Sending ping");
+ trace!("Sending TCP ping");
let msg = msgs::Ping::new();
packet_sender.send(msg.into()).unwrap();
}
diff --git a/mumd/src/network/udp.rs b/mumd/src/network/udp.rs
index 441d08b..ac67bcb 100644
--- a/mumd/src/network/udp.rs
+++ b/mumd/src/network/udp.rs
@@ -13,7 +13,7 @@ use std::convert::TryFrom;
use std::net::{Ipv6Addr, SocketAddr};
use std::rc::Rc;
use std::sync::atomic::{AtomicU64, Ordering};
-use std::sync::{Arc};
+use std::sync::Arc;
use tokio::net::UdpSocket;
use tokio::sync::{mpsc, watch, Mutex};
use tokio::time::{interval, Duration};
@@ -134,7 +134,6 @@ async fn listen(
};
match packet {
VoicePacket::Ping { timestamp } => {
- // debug!("Sending UDP voice");
state
.lock() //TODO clean up unnecessary lock by only updating phase if it should change
.await
@@ -149,7 +148,7 @@ async fn listen(
..
} => {
state
- .lock()
+ .lock() //TODO change so that we only have to lock audio and not the whole state
.await
.audio()
.decode_packet_payload(VoiceStreamType::UDP, session_id, payload);
@@ -172,9 +171,9 @@ async fn send_pings(
) {
let mut last_send = None;
let mut interval = interval(Duration::from_millis(1000));
- interval.tick().await; //this is so we get rid of the first instant resolve
loop {
+ interval.tick().await;
let last_recv = last_ping_recv.load(Ordering::Relaxed);
if last_send.is_some() && last_send.unwrap() != last_recv {
debug!("Sending TCP voice");
@@ -196,7 +195,6 @@ async fn send_pings(
debug!("Error sending UDP ping: {}", e);
}
}
- interval.tick().await;
}
}