aboutsummaryrefslogtreecommitdiffstats
path: root/mumd/src/command.rs
diff options
context:
space:
mode:
Diffstat (limited to 'mumd/src/command.rs')
-rw-r--r--mumd/src/command.rs22
1 files changed, 11 insertions, 11 deletions
diff --git a/mumd/src/command.rs b/mumd/src/command.rs
index 5285a9d..075bfaf 100644
--- a/mumd/src/command.rs
+++ b/mumd/src/command.rs
@@ -18,21 +18,21 @@ pub async fn handle(
debug!("Begin listening for commands");
while let Some((command, response_sender)) = command_receiver.recv().await {
debug!("Received command {:?}", command);
- let mut statee = state.lock().unwrap();
- let (event_data, command_response) = statee.handle_command(command).await;
- drop(statee);
- if let Some((event, callback)) = event_data {
+ let mut state = state.lock().unwrap();
+ let (event, generator) = state.handle_command(command).await;
+ drop(state);
+ if let Some(event) = event {
let (tx, rx) = oneshot::channel();
- tcp_event_register_sender.send((event, Box::new(move |e| {
- println!("något hände");
- callback(e);
- response_sender.send(command_response).unwrap();
- tx.send(());
+ //TODO handle this error
+ let _ = tcp_event_register_sender.send((event, Box::new(move |e| {
+ let response = generator(Some(e));
+ response_sender.send(response).unwrap();
+ tx.send(()).unwrap();
})));
- rx.await;
+ rx.await.unwrap();
} else {
- response_sender.send(command_response).unwrap();
+ response_sender.send(generator(None)).unwrap();
}
}
}