diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2020-10-13 17:12:46 +0200 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2020-10-13 17:13:39 +0200 |
| commit | 321d0400bb8760ab215a602cc74f36a2a7dd6788 (patch) | |
| tree | 14c8e4441870db3953bf26df4cfffde2a9ffeea9 /mumd/src/network/tcp.rs | |
| parent | 503f6c90395682bf5d7fd3fb8a79bfcfc3c2f329 (diff) | |
| download | mum-321d0400bb8760ab215a602cc74f36a2a7dd6788.tar.gz | |
respect if we're initializing when parsing user state
Diffstat (limited to 'mumd/src/network/tcp.rs')
| -rw-r--r-- | mumd/src/network/tcp.rs | 8 |
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); |
