From eb96b559680e42173c0571b65fcb7fb63afbab62 Mon Sep 17 00:00:00 2001 From: Eskil Queseth Date: Wed, 3 Feb 2021 01:26:02 +0100 Subject: clean up depending on futures --- mumd/Cargo.toml | 4 ++-- mumd/src/audio.rs | 18 +++--------------- mumd/src/audio/input.rs | 2 +- mumd/src/client.rs | 3 +-- mumd/src/main.rs | 3 +-- mumd/src/network.rs | 15 +++++---------- mumd/src/network/tcp.rs | 4 ++-- mumd/src/network/udp.rs | 6 +++--- 8 files changed, 18 insertions(+), 37 deletions(-) (limited to 'mumd') diff --git a/mumd/Cargo.toml b/mumd/Cargo.toml index 4f0bc19..0a102c4 100644 --- a/mumd/Cargo.toml +++ b/mumd/Cargo.toml @@ -25,8 +25,8 @@ dasp_signal = "0.11" dasp_frame = "0.11" dasp_sample = "0.11" dasp_ring_buffer = "0.11" -futures = "0.3" -futures-util = "0.3" +futures-util = { version = "0.3", features = ["sink"]} +futures-channel = "0.3.12" hound = "3.4" ipc-channel = "0.14" log = "0.4" diff --git a/mumd/src/audio.rs b/mumd/src/audio.rs index 598dde6..4fc7965 100644 --- a/mumd/src/audio.rs +++ b/mumd/src/audio.rs @@ -10,25 +10,13 @@ use dasp_frame::Frame; use dasp_interpolate::linear::Linear; use dasp_sample::{SignedSample, ToSample, Sample}; use dasp_signal::{self as signal, Signal}; -use futures::Stream; -use futures::stream::StreamExt; -use futures::task::{Context, Poll}; +use futures_util::{StreamExt, stream::Stream}; use log::*; use mumble_protocol::Serverbound; use mumble_protocol::voice::{VoicePacketPayload, VoicePacket}; use mumlib::config::SoundEffect; use opus::Channels; -use std::{ - borrow::Cow, - collections::{hash_map::Entry, HashMap, VecDeque}, - convert::TryFrom, - fmt::Debug, - fs::File, - future::Future, - io::Read, - pin::Pin, - sync::{Arc, Mutex}, -}; +use std::{borrow::Cow, collections::{hash_map::Entry, HashMap, VecDeque}, convert::TryFrom, fmt::Debug, fs::File, future::Future, io::Read, pin::Pin, sync::{Arc, Mutex}, task::{Context, Poll}}; use strum::IntoEnumIterator; use strum_macros::EnumIter; use tokio::sync::watch; @@ -171,7 +159,7 @@ impl Audio { } .unwrap(); - let (sample_sender, sample_receiver) = futures::channel::mpsc::channel(1_000_000); + let (sample_sender, sample_receiver) = futures_channel::mpsc::channel(1_000_000); let (input_volume_sender, input_volume_receiver) = watch::channel::(input_volume); diff --git a/mumd/src/audio/input.rs b/mumd/src/audio/input.rs index deb0fb8..472c161 100644 --- a/mumd/src/audio/input.rs +++ b/mumd/src/audio/input.rs @@ -3,7 +3,7 @@ use tokio::sync::watch; use log::*; pub fn callback( - mut input_sender: futures::channel::mpsc::Sender, + mut input_sender: futures_channel::mpsc::Sender, input_volume_receiver: watch::Receiver, ) -> impl FnMut(&[T], &InputCallbackInfo) + Send + 'static { move |data: &[T], _info: &InputCallbackInfo| { diff --git a/mumd/src/client.rs b/mumd/src/client.rs index 222e2a7..84c1ea1 100644 --- a/mumd/src/client.rs +++ b/mumd/src/client.rs @@ -2,12 +2,11 @@ use crate::command; use crate::network::{tcp, udp, ConnectionInfo}; use crate::state::State; -use futures_util::join; use ipc_channel::ipc::IpcSender; use mumble_protocol::{Serverbound, control::ControlPacket, crypt::ClientCryptState}; use mumlib::command::{Command, CommandResponse}; use std::sync::Arc; -use tokio::sync::{mpsc, watch, Mutex}; +use tokio::{join, sync::{mpsc, watch, Mutex}}; pub async fn handle( command_receiver: mpsc::UnboundedReceiver<( diff --git a/mumd/src/main.rs b/mumd/src/main.rs index 67481f9..0526930 100644 --- a/mumd/src/main.rs +++ b/mumd/src/main.rs @@ -5,13 +5,12 @@ mod network; mod notify; mod state; -use futures::join; use ipc_channel::ipc::{self, IpcOneShotServer, IpcSender}; use log::*; use mumlib::command::{Command, CommandResponse}; use mumlib::setup_logger; use std::fs; -use tokio::sync::mpsc; +use tokio::{join, sync::mpsc}; use tokio::task::spawn_blocking; #[tokio::main] diff --git a/mumd/src/network.rs b/mumd/src/network.rs index 6c67b3a..7950dc7 100644 --- a/mumd/src/network.rs +++ b/mumd/src/network.rs @@ -1,15 +1,10 @@ pub mod tcp; pub mod udp; -use futures::Future; -use futures::FutureExt; -use futures::channel::oneshot; -use futures::join; -use futures::pin_mut; -use futures::select; +use futures_util::FutureExt; use log::*; -use std::net::SocketAddr; -use tokio::sync::watch; +use std::{future::Future, net::SocketAddr}; +use tokio::{join, select, sync::{oneshot, watch}}; use crate::state::StatePhase; @@ -58,9 +53,9 @@ async fn run_until( let main_block = async { let rx = rx.fuse(); - pin_mut!(rx); + //pin_mut!(rx); let fut = fut.fuse(); - pin_mut!(fut); + //pin_mut!(fut); select! { _ = fut => (), _ = rx => (), diff --git a/mumd/src/network/tcp.rs b/mumd/src/network/tcp.rs index 3a32b9f..fa2681e 100644 --- a/mumd/src/network/tcp.rs +++ b/mumd/src/network/tcp.rs @@ -2,8 +2,8 @@ use crate::network::ConnectionInfo; use crate::state::{State, StatePhase}; use log::*; -use futures::{FutureExt, SinkExt, Stream, StreamExt}; -use futures_util::stream::{SplitSink, SplitStream}; +use futures_util::{FutureExt, SinkExt, StreamExt}; +use futures_util::stream::{SplitSink, SplitStream, Stream}; use mumble_protocol::control::{msgs, ClientControlCodec, ControlCodec, ControlPacket}; use mumble_protocol::crypt::ClientCryptState; use mumble_protocol::voice::VoicePacket; diff --git a/mumd/src/network/udp.rs b/mumd/src/network/udp.rs index 5f24b51..da92dcb 100644 --- a/mumd/src/network/udp.rs +++ b/mumd/src/network/udp.rs @@ -1,8 +1,8 @@ use crate::network::ConnectionInfo; use crate::state::{State, StatePhase}; -use futures::{join, FutureExt, SinkExt, StreamExt, Stream}; -use futures_util::stream::{SplitSink, SplitStream}; +use futures_util::{FutureExt, SinkExt, StreamExt}; +use futures_util::stream::{SplitSink, SplitStream, Stream}; use log::*; use mumble_protocol::crypt::ClientCryptState; use mumble_protocol::ping::{PingPacket, PongPacket}; @@ -14,7 +14,7 @@ use std::net::{Ipv6Addr, SocketAddr}; use std::rc::Rc; use std::sync::atomic::{AtomicU64, Ordering}; use std::sync::Arc; -use tokio::net::UdpSocket; +use tokio::{join, net::UdpSocket}; use tokio::sync::{mpsc, watch, Mutex}; use tokio::time::{interval, Duration}; use tokio_util::udp::UdpFramed; -- cgit v1.2.1