aboutsummaryrefslogtreecommitdiff
path: root/karlcommon
diff options
context:
space:
mode:
authormetamuffin <yvchraiqi@protonmail.com>2022-06-10 17:02:31 +0200
committermetamuffin <yvchraiqi@protonmail.com>2022-06-10 17:02:31 +0200
commitd65b915f3dfda28aad6f2806df38c8ad77135d8b (patch)
tree46c57595ec7d64156b909e515a65f20fc6c0c7ff /karlcommon
parentee1116ffb12887d1ad985b67887c910f58202c1f (diff)
downloadkarlender-d65b915f3dfda28aad6f2806df38c8ad77135d8b.tar
karlender-d65b915f3dfda28aad6f2806df38c8ad77135d8b.tar.bz2
karlender-d65b915f3dfda28aad6f2806df38c8ad77135d8b.tar.zst
more code
Diffstat (limited to 'karlcommon')
-rw-r--r--karlcommon/src/protocol.rs25
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>),