diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2020-10-13 17:05:22 +0200 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2020-10-13 17:05:22 +0200 |
| commit | 503f6c90395682bf5d7fd3fb8a79bfcfc3c2f329 (patch) | |
| tree | 41dd58465f1afbeb583262eb383fdcb50c256337 /mumd/src/network/tcp.rs | |
| parent | cd353c875c3c8bcae4f4ece597468728341362c9 (diff) | |
| download | mum-503f6c90395682bf5d7fd3fb8a79bfcfc3c2f329.tar.gz | |
wait for complete state before sending commands
Diffstat (limited to 'mumd/src/network/tcp.rs')
| -rw-r--r-- | mumd/src/network/tcp.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/mumd/src/network/tcp.rs b/mumd/src/network/tcp.rs index fa4c4b6..72a2840 100644 --- a/mumd/src/network/tcp.rs +++ b/mumd/src/network/tcp.rs @@ -30,7 +30,7 @@ pub async fn handle( server_host: String, accept_invalid_cert: bool, crypt_state_sender: oneshot::Sender<ClientCryptState>, - packet_receiver: mpsc::Receiver<ControlPacket<Serverbound>>, + packet_receiver: mpsc::UnboundedReceiver<ControlPacket<Serverbound>>, ) { let (sink, stream) = connect(server_addr, server_host, accept_invalid_cert).await; let sink = Arc::new(Mutex::new(sink)); @@ -94,7 +94,7 @@ async fn send_pings(sink: Arc<Mutex<TcpSender>>, delay_seconds: u64) { } async fn send_packets(sink: Arc<Mutex<TcpSender>>, - mut packet_receiver: mpsc::Receiver<ControlPacket<Serverbound>>) { + mut packet_receiver: mpsc::UnboundedReceiver<ControlPacket<Serverbound>>) { while let Some(packet) = packet_receiver.recv().await { sink.lock().unwrap().send(packet).await.unwrap(); @@ -153,8 +153,7 @@ async fn listen( for (_, channel) in server.channels() { info!("Found channel {}", channel.name()); } - //TODO start listening for packets to send here - state.handle_command(Command::ChannelJoin{channel_id: 1}).await; + state.initialized(); } ControlPacket::Reject(msg) => { warn!("Login rejected: {:?}", msg); |
