diff options
author | metamuffin <yvchraiqi@protonmail.com> | 2022-06-10 17:02:31 +0200 |
---|---|---|
committer | metamuffin <yvchraiqi@protonmail.com> | 2022-06-10 17:02:31 +0200 |
commit | d65b915f3dfda28aad6f2806df38c8ad77135d8b (patch) | |
tree | 46c57595ec7d64156b909e515a65f20fc6c0c7ff /karlcommon | |
parent | ee1116ffb12887d1ad985b67887c910f58202c1f (diff) | |
download | karlender-d65b915f3dfda28aad6f2806df38c8ad77135d8b.tar karlender-d65b915f3dfda28aad6f2806df38c8ad77135d8b.tar.bz2 karlender-d65b915f3dfda28aad6f2806df38c8ad77135d8b.tar.zst |
more code
Diffstat (limited to 'karlcommon')
-rw-r--r-- | karlcommon/src/protocol.rs | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/karlcommon/src/protocol.rs b/karlcommon/src/protocol.rs index 55dda06..e5bb9f0 100644 --- a/karlcommon/src/protocol.rs +++ b/karlcommon/src/protocol.rs @@ -1,3 +1,4 @@ +use std::ops::Range; use serde::{Deserialize, Serialize}; @@ -6,14 +7,22 @@ use serde::{Deserialize, Serialize}; pub enum ClientboundPacket { Handshake { version: String }, Error(String), - DownloadResponse(Vec<Task>), + TaskList(Vec<Task>), + InstanceList(Vec<Instance>), } #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(tag = "type", content = "data", rename_all = "snake_case")] pub enum ServerboundPacket { - Handshake { version: String }, - Download, + Handshake { + version: String, + }, + ListTasks, + ListInstances { + task: u64, + range: Range<Option<i64>>, + limit: usize, + }, UpdateTask(Task), RemoveTask(u64), } @@ -27,14 +36,20 @@ pub struct Task { pub tags: Vec<String>, pub priority: f64, - pub completed: Option<u64>, - pub scheduled: Option<u64>, + pub completed: Option<i64>, + pub scheduled: Option<i64>, pub occurence: Option<Condition>, pub deadline: Option<Condition>, } #[derive(Debug, Clone, Serialize, Deserialize)] +pub struct Instance { + pub of: u64, + pub at: Range<Option<i64>>, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum Condition { From(Box<Condition>), |