aboutsummaryrefslogtreecommitdiffstats
path: root/mumd
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
parentab038b58b4440804cdfded56167ce72b599d87c8 (diff)
downloadmum-b15e010a6bebc7b7c6b8afb1b51f2673d0695e06.tar.gz
tokio mutex
Diffstat (limited to 'mumd')
-rw-r--r--mumd/src/audio.rs6
-rw-r--r--mumd/src/network/tcp.rs5
-rw-r--r--mumd/src/network/udp.rs6
3 files changed, 10 insertions, 7 deletions
diff --git a/mumd/src/audio.rs b/mumd/src/audio.rs
index 4f9b73c..3f03e61 100644
--- a/mumd/src/audio.rs
+++ b/mumd/src/audio.rs
@@ -76,7 +76,7 @@ pub struct Audio {
_output_stream: cpal::Stream,
_input_stream: cpal::Stream,
- input_channel_receiver: Arc<Mutex<Box<dyn Stream<Item = VoicePacket<Serverbound>> + Unpin>>>,
+ input_channel_receiver: Arc<tokio::sync::Mutex<Box<dyn Stream<Item = VoicePacket<Serverbound>> + Unpin>>>,
input_volume_sender: watch::Sender<f32>,
output_volume_sender: watch::Sender<f32>,
@@ -227,7 +227,7 @@ impl Audio {
_output_stream: output_stream,
_input_stream: input_stream,
input_volume_sender,
- input_channel_receiver: Arc::new(Mutex::new(Box::new(opus_stream))),
+ input_channel_receiver: Arc::new(tokio::sync::Mutex::new(Box::new(opus_stream))),
client_streams,
sounds: HashMap::new(),
output_volume_sender,
@@ -337,7 +337,7 @@ impl Audio {
}
}
- pub fn input_receiver(&self) -> Arc<Mutex<Box<dyn Stream<Item = VoicePacket<Serverbound>> + Unpin>>> {
+ pub fn input_receiver(&self) -> Arc<tokio::sync::Mutex<Box<dyn Stream<Item = VoicePacket<Serverbound>> + Unpin>>> {
Arc::clone(&self.input_channel_receiver)
}
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 {},