aboutsummaryrefslogtreecommitdiffstats
path: root/mumd/src
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-10-13 17:12:46 +0200
committerGustav Sörnäs <gustav@sornas.net>2020-10-13 17:13:39 +0200
commit321d0400bb8760ab215a602cc74f36a2a7dd6788 (patch)
tree14c8e4441870db3953bf26df4cfffde2a9ffeea9 /mumd/src
parent503f6c90395682bf5d7fd3fb8a79bfcfc3c2f329 (diff)
downloadmum-321d0400bb8760ab215a602cc74f36a2a7dd6788.tar.gz
respect if we're initializing when parsing user state
Diffstat (limited to 'mumd/src')
-rw-r--r--mumd/src/network/tcp.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/mumd/src/network/tcp.rs b/mumd/src/network/tcp.rs
index 72a2840..3fc36a3 100644
--- a/mumd/src/network/tcp.rs
+++ b/mumd/src/network/tcp.rs
@@ -162,7 +162,11 @@ async fn listen(
let mut state = state.lock().unwrap();
let session = msg.get_session();
state.audio_mut().add_client(msg.get_session()); //TODO
- state.parse_initial_user_state(msg); //TODO only if actually initiating state
+ if *state.initialized_receiver().borrow() {
+ state.server_mut().parse_user_state(msg);
+ } else {
+ state.parse_initial_user_state(msg);
+ }
let server = state.server_mut();
let user = server.users().get(&session).unwrap();
info!("User {} connected to {}",
@@ -175,7 +179,7 @@ async fn listen(
}
ControlPacket::ChannelState(msg) => {
debug!("Channel state received");
- state.lock().unwrap().server_mut().parse_channel_state(msg);
+ state.lock().unwrap().server_mut().parse_channel_state(msg); //TODO parse initial if initial
}
ControlPacket::ChannelRemove(msg) => {
state.lock().unwrap().server_mut().parse_channel_remove(msg);