aboutsummaryrefslogtreecommitdiffstats
path: root/mumd/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'mumd/src/main.rs')
-rw-r--r--mumd/src/main.rs48
1 files changed, 29 insertions, 19 deletions
diff --git a/mumd/src/main.rs b/mumd/src/main.rs
index 6d435fa..797b71f 100644
--- a/mumd/src/main.rs
+++ b/mumd/src/main.rs
@@ -1,10 +1,10 @@
mod audio;
-mod network;
mod command;
+mod network;
mod state;
-use crate::network::ConnectionInfo;
use crate::command::{Command, CommandResponse};
+use crate::network::ConnectionInfo;
use crate::state::State;
use argparse::ArgumentParser;
@@ -17,8 +17,8 @@ use mumble_protocol::control::ControlPacket;
use mumble_protocol::crypt::ClientCryptState;
use mumble_protocol::voice::Serverbound;
use std::sync::{Arc, Mutex};
-use tokio::sync::{mpsc, watch};
use std::time::Duration;
+use tokio::sync::{mpsc, watch};
#[tokio::main]
async fn main() {
@@ -31,20 +31,25 @@ async fn main() {
//TODO runtime flag that disables color
match record.level() {
Level::Error => "ERROR".red(),
- Level::Warn => "WARN ".yellow(),
- Level::Info => "INFO ".normal(),
+ Level::Warn => "WARN ".yellow(),
+ Level::Info => "INFO ".normal(),
Level::Debug => "DEBUG".green(),
Level::Trace => "TRACE".normal(),
},
record.file().unwrap(),
record.line().unwrap(),
- if message.chars().any(|e| e == '\n') { "\n" } else { " " },
+ if message.chars().any(|e| e == '\n') {
+ "\n"
+ } else {
+ " "
+ },
message
))
})
.level(log::LevelFilter::Debug)
.chain(std::io::stderr())
- .apply().unwrap();
+ .apply()
+ .unwrap();
// Handle command line arguments
let mut server_host = "".to_string();
@@ -74,10 +79,16 @@ async fn main() {
let (crypt_state_sender, crypt_state_receiver) = mpsc::channel::<ClientCryptState>(1); // crypt state should always be consumed before sending a new one
let (packet_sender, packet_receiver) = mpsc::unbounded_channel::<ControlPacket<Serverbound>>();
let (command_sender, command_receiver) = mpsc::unbounded_channel::<Command>();
- let (command_response_sender, command_response_receiver) = mpsc::unbounded_channel::<Result<Option<CommandResponse>, ()>>();
- let (connection_info_sender, connection_info_receiver) = watch::channel::<Option<ConnectionInfo>>(None);
+ let (command_response_sender, command_response_receiver) =
+ mpsc::unbounded_channel::<Result<Option<CommandResponse>, ()>>();
+ let (connection_info_sender, connection_info_receiver) =
+ watch::channel::<Option<ConnectionInfo>>(None);
- let state = State::new(packet_sender, command_sender.clone(), connection_info_sender);
+ let state = State::new(
+ packet_sender,
+ command_sender.clone(),
+ connection_info_sender,
+ );
let state = Arc::new(Mutex::new(state));
// Run it
@@ -93,18 +104,17 @@ async fn main() {
connection_info_receiver.clone(),
crypt_state_receiver,
),
- command::handle(
- state,
- command_receiver,
- command_response_sender,
- ),
+ command::handle(state, command_receiver, command_response_sender,),
send_commands(
command_sender,
- Command::ServerConnect{host: server_host, port: server_port, username: username.clone(), accept_invalid_cert}
- ),
- receive_command_responses(
- command_response_receiver,
+ Command::ServerConnect {
+ host: server_host,
+ port: server_port,
+ username: username.clone(),
+ accept_invalid_cert
+ }
),
+ receive_command_responses(command_response_receiver,),
);
}