From 45f2d1651f17d7e155748cfd1e1cd9a96f3e530e Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 10 Jun 2022 17:48:32 +0200 Subject: better cli --- karld/src/main.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'karld/src/main.rs') diff --git a/karld/src/main.rs b/karld/src/main.rs index 1bc5798..0983554 100644 --- a/karld/src/main.rs +++ b/karld/src/main.rs @@ -5,7 +5,9 @@ use chrono::NaiveDateTime; use condition::ConditionFind; use crossbeam_channel::Sender; use interface::network_loop; -use karlcommon::{ClientboundPacket, Condition, Instance, Property, ServerboundPacket, Task}; +use karlcommon::{ + ClientboundPacket, Condition, Instance, Property, ProtoError, ServerboundPacket, Task, +}; use log::{debug, info}; use std::{collections::HashMap, sync::RwLock}; @@ -16,8 +18,8 @@ fn main() { 0, Task { id: 0, - name: "blub".to_string(), - description: "blob".to_string(), + name: "Mittagessen im Februar".to_string(), + description: None, tags: vec![], priority: 69.0, completed: None, @@ -46,6 +48,9 @@ lazy_static::lazy_static! { pub fn handle_packet(client: u32, packet: ServerboundPacket, responder: Sender) { match packet { + ServerboundPacket::Sync => { + let _ = responder.send(ClientboundPacket::Sync); + } ServerboundPacket::ListTasks => { let _ = responder.send(ClientboundPacket::TaskList( TASKS.read().unwrap().values().map(|e| e.clone()).collect(), @@ -55,7 +60,9 @@ pub fn handle_packet(client: u32, packet: ServerboundPacket, responder: Sender { - TASKS.write().unwrap().remove(&i); + if TASKS.write().unwrap().remove(&i).is_none() { + let _ = responder.send(ClientboundPacket::Error(ProtoError::UnknownTask)); + } } ServerboundPacket::Handshake { version } => { debug!("{client}: version {version}"); @@ -64,8 +71,7 @@ pub fn handle_packet(client: u32, packet: ServerboundPacket, responder: Sender t, None => { - let _ = - responder.send(ClientboundPacket::Error("task does not exist".to_string())); + let _ = responder.send(ClientboundPacket::Error(ProtoError::UnknownTask)); return; } }; -- cgit v1.2.3-70-g09d2