diff options
| author | Eskil Queseth <eskilq@kth.se> | 2020-10-21 02:24:16 +0200 |
|---|---|---|
| committer | Eskil Queseth <eskilq@kth.se> | 2020-10-21 04:28:17 +0200 |
| commit | d215385473f5380a1166101596e135ec6ede5501 (patch) | |
| tree | f5a76bfe19e01da3250f380021ce9b111c95023a /mumd/src/command.rs | |
| parent | 46a53f38cde86439a2ca8b6d24887f842530f679 (diff) | |
| download | mum-d215385473f5380a1166101596e135ec6ede5501.tar.gz | |
add printing of welcome message to server connect
Diffstat (limited to 'mumd/src/command.rs')
| -rw-r--r-- | mumd/src/command.rs | 22 |
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(); } } } |
