From 3d8009a0201fba0bdc464fae0797d3bb3bcf69f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Wed, 14 Oct 2020 01:48:07 +0200 Subject: wip handle more commands (panics) --- mumd/src/command.rs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'mumd/src/command.rs') diff --git a/mumd/src/command.rs b/mumd/src/command.rs index 1f7a781..c3b72bf 100644 --- a/mumd/src/command.rs +++ b/mumd/src/command.rs @@ -1,5 +1,6 @@ -use crate::state::State; +use crate::state::{Channel, Server, State}; +use std::collections::HashMap; use std::sync::{Arc, Mutex}; use tokio::sync::mpsc; @@ -19,14 +20,23 @@ pub enum Command { Status, } +#[derive(Debug)] +pub enum CommandResponse { + ChannelList { + channels: HashMap, + }, + Status { + username: String, + server_state: Server, + } +} + pub async fn handle( state: Arc>, mut command_receiver: mpsc::UnboundedReceiver, + command_response_sender: mpsc::UnboundedSender, ()>>, ) { - // wait until we can send packages - let mut initialized_receiver = state.lock().unwrap().initialized_receiver(); - while matches!(initialized_receiver.recv().await, Some(false)) {} - + //TODO err if not connected while let Some(command) = command_receiver.recv().await { state.lock().unwrap().handle_command(command).await; } -- cgit v1.2.1