aboutsummaryrefslogtreecommitdiffstats
path: root/mumd/src/state.rs
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-01-01 17:40:00 +0100
committerGustav Sörnäs <gustav@sornas.net>2021-01-01 17:40:00 +0100
commitaef5b85b22b916a3a7f84b1b9bbea151544580f3 (patch)
tree24c79ff42ce823b29cd94f72d7e567c67a7fc8f0 /mumd/src/state.rs
parenta32511e0b70288cad6d4915b30956f3eb8728149 (diff)
downloadmum-aef5b85b22b916a3a7f84b1b9bbea151544580f3.tar.gz
move none-state-fields on state to client
Diffstat (limited to 'mumd/src/state.rs')
-rw-r--r--mumd/src/state.rs23
1 files changed, 7 insertions, 16 deletions
diff --git a/mumd/src/state.rs b/mumd/src/state.rs
index 574d0cb..8fa05ae 100644
--- a/mumd/src/state.rs
+++ b/mumd/src/state.rs
@@ -57,17 +57,11 @@ pub struct State {
server: Option<Server>,
audio: Audio,
- packet_sender: mpsc::UnboundedSender<ControlPacket<Serverbound>>,
- connection_info_sender: watch::Sender<Option<ConnectionInfo>>,
-
phase_watcher: (watch::Sender<StatePhase>, watch::Receiver<StatePhase>),
}
impl State {
- pub fn new(
- packet_sender: mpsc::UnboundedSender<ControlPacket<Serverbound>>,
- connection_info_sender: watch::Sender<Option<ConnectionInfo>>,
- ) -> Self {
+ pub fn new() -> Self {
let config = mumlib::config::read_default_cfg();
let audio = Audio::new(
config.audio.input_volume.unwrap_or(1.0),
@@ -77,8 +71,6 @@ impl State {
config,
server: None,
audio,
- packet_sender,
- connection_info_sender,
phase_watcher: watch::channel(StatePhase::Disconnected),
};
state.reload_config();
@@ -88,6 +80,8 @@ impl State {
pub fn handle_command(
&mut self,
command: Command,
+ packet_sender: &mut mpsc::UnboundedSender<ControlPacket<Serverbound>>,
+ connection_info_sender: &mut watch::Sender<Option<ConnectionInfo>>,
) -> ExecutionContext {
match command {
Command::ChannelJoin { channel_identifier } => {
@@ -137,7 +131,7 @@ impl State {
let mut msg = msgs::UserState::new();
msg.set_session(self.server.as_ref().unwrap().session_id().unwrap());
msg.set_channel_id(id);
- self.packet_sender.send(msg.into()).unwrap();
+ packet_sender.send(msg.into()).unwrap();
now!(Ok(None))
}
Command::ChannelList => {
@@ -203,7 +197,7 @@ impl State {
let server = self.server_mut().unwrap();
server.set_muted(mute);
server.set_deafened(deafen);
- self.packet_sender.send(msg.into()).unwrap();
+ packet_sender.send(msg.into()).unwrap();
}
now!(Ok(new_deaf.map(|b| CommandResponse::DeafenStatus { is_deafened: b })))
@@ -297,7 +291,7 @@ impl State {
let server = self.server_mut().unwrap();
server.set_muted(mute);
server.set_deafened(deafen);
- self.packet_sender.send(msg.into()).unwrap();
+ packet_sender.send(msg.into()).unwrap();
}
now!(Ok(new_mute.map(|b| CommandResponse::MuteStatus { is_muted: b })))
@@ -337,7 +331,7 @@ impl State {
return now!(Err(Error::InvalidServerAddrError(host, port)));
}
};
- self.connection_info_sender
+ connection_info_sender
.send(Some(ConnectionInfo::new(
socket_addr,
host,
@@ -595,9 +589,6 @@ impl State {
pub fn audio_mut(&mut self) -> &mut Audio {
&mut self.audio
}
- pub fn packet_sender(&self) -> mpsc::UnboundedSender<ControlPacket<Serverbound>> {
- self.packet_sender.clone()
- }
pub fn phase_receiver(&self) -> watch::Receiver<StatePhase> {
self.phase_watcher.1.clone()
}