aboutsummaryrefslogtreecommitdiffstats
path: root/mumd/src/network
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-01-05 20:02:32 +0100
committerGustav Sörnäs <gustav@sornas.net>2021-01-05 20:02:32 +0100
commitb15e010a6bebc7b7c6b8afb1b51f2673d0695e06 (patch)
treedfb34f494d9bf49ad504cdd5b319fc73cd49800b /mumd/src/network
parentab038b58b4440804cdfded56167ce72b599d87c8 (diff)
downloadmum-b15e010a6bebc7b7c6b8afb1b51f2673d0695e06.tar.gz
tokio mutex
Diffstat (limited to 'mumd/src/network')
-rw-r--r--mumd/src/network/tcp.rs5
-rw-r--r--mumd/src/network/udp.rs6
2 files changed, 7 insertions, 4 deletions
diff --git a/mumd/src/network/tcp.rs b/mumd/src/network/tcp.rs
index f767446..717b195 100644
--- a/mumd/src/network/tcp.rs
+++ b/mumd/src/network/tcp.rs
@@ -184,7 +184,7 @@ async fn send_packets(
async fn send_voice(
packet_sender: mpsc::UnboundedSender<ControlPacket<Serverbound>>,
- receiver: Arc<Mutex<Box<(dyn Stream<Item = VoicePacket<Serverbound>> + Unpin)>>>,
+ receiver: Arc<tokio::sync::Mutex<Box<(dyn Stream<Item = VoicePacket<Serverbound>> + Unpin)>>>,
phase_watcher: watch::Receiver<StatePhase>,
) {
let inner_phase_watcher = phase_watcher.clone();
@@ -196,7 +196,7 @@ async fn send_voice(
|| async {
packet_sender.send(receiver
.lock()
- .unwrap()
+ .await
.next()
.await
.unwrap()
@@ -208,6 +208,7 @@ async fn send_voice(
|| async {},
inner_phase_watcher.clone(),
).await;
+ debug!("Stopped sending TCP voice");
Some(Some(()))
},
|_| async {},
diff --git a/mumd/src/network/udp.rs b/mumd/src/network/udp.rs
index 9435e94..5e725cd 100644
--- a/mumd/src/network/udp.rs
+++ b/mumd/src/network/udp.rs
@@ -228,7 +228,7 @@ async fn send_voice(
sink: Arc<Mutex<UdpSender>>,
server_addr: SocketAddr,
phase_watcher: watch::Receiver<StatePhase>,
- receiver: Arc<Mutex<Box<(dyn Stream<Item = VoicePacket<Serverbound>> + Unpin)>>>,
+ receiver: Arc<tokio::sync::Mutex<Box<(dyn Stream<Item = VoicePacket<Serverbound>> + Unpin)>>>,
) {
let inner_phase_watcher = phase_watcher.clone();
run_until(
@@ -237,7 +237,9 @@ async fn send_voice(
run_until(
|phase| !matches!(phase, StatePhase::Connected(VoiceStreamType::UDP)),
|| async {
- sink.lock().unwrap().send((receiver.lock().unwrap().next().await.unwrap(), server_addr)).await.unwrap();
+ debug!("Sending UDP audio");
+ sink.lock().unwrap().send((receiver.lock().await.next().await.unwrap(), server_addr)).await.unwrap();
+ debug!("Sent UDP audio");
Some(Some(()))
},
|_| async {},