diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2021-01-05 20:02:32 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2021-01-05 20:02:32 +0100 |
| commit | b15e010a6bebc7b7c6b8afb1b51f2673d0695e06 (patch) | |
| tree | dfb34f494d9bf49ad504cdd5b319fc73cd49800b /mumd/src | |
| parent | ab038b58b4440804cdfded56167ce72b599d87c8 (diff) | |
| download | mum-b15e010a6bebc7b7c6b8afb1b51f2673d0695e06.tar.gz | |
tokio mutex
Diffstat (limited to 'mumd/src')
| -rw-r--r-- | mumd/src/audio.rs | 6 | ||||
| -rw-r--r-- | mumd/src/network/tcp.rs | 5 | ||||
| -rw-r--r-- | mumd/src/network/udp.rs | 6 |
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 {}, |
