aboutsummaryrefslogtreecommitdiffstats
path: root/mumd/src/network/tcp.rs
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-10-13 17:05:22 +0200
committerGustav Sörnäs <gustav@sornas.net>2020-10-13 17:05:22 +0200
commit503f6c90395682bf5d7fd3fb8a79bfcfc3c2f329 (patch)
tree41dd58465f1afbeb583262eb383fdcb50c256337 /mumd/src/network/tcp.rs
parentcd353c875c3c8bcae4f4ece597468728341362c9 (diff)
downloadmum-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.rs7
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);