diff options
author | metamuffin <yvchraiqi@protonmail.com> | 2022-06-10 17:48:32 +0200 |
---|---|---|
committer | metamuffin <yvchraiqi@protonmail.com> | 2022-06-10 17:48:32 +0200 |
commit | 45f2d1651f17d7e155748cfd1e1cd9a96f3e530e (patch) | |
tree | 6847a4552db06b56a5e0a55aa56354eccb7c41b1 /karld/src/main.rs | |
parent | d65b915f3dfda28aad6f2806df38c8ad77135d8b (diff) | |
download | karlender-45f2d1651f17d7e155748cfd1e1cd9a96f3e530e.tar karlender-45f2d1651f17d7e155748cfd1e1cd9a96f3e530e.tar.bz2 karlender-45f2d1651f17d7e155748cfd1e1cd9a96f3e530e.tar.zst |
better cli
Diffstat (limited to 'karld/src/main.rs')
-rw-r--r-- | karld/src/main.rs | 18 |
1 files changed, 12 insertions, 6 deletions
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<ClientboundPacket>) { 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<C TASKS.write().unwrap().insert(t.id, t); } ServerboundPacket::RemoveTask(i) => { - 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<C let t = match TASKS.read().unwrap().get(&task).cloned() { Some(t) => t, None => { - let _ = - responder.send(ClientboundPacket::Error("task does not exist".to_string())); + let _ = responder.send(ClientboundPacket::Error(ProtoError::UnknownTask)); return; } }; |