diff options
Diffstat (limited to 'karlcommon/src/protocol.rs')
-rw-r--r-- | karlcommon/src/protocol.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/karlcommon/src/protocol.rs b/karlcommon/src/protocol.rs index e5bb9f0..a86ca3d 100644 --- a/karlcommon/src/protocol.rs +++ b/karlcommon/src/protocol.rs @@ -6,14 +6,23 @@ use serde::{Deserialize, Serialize}; #[serde(tag = "type", content = "data", rename_all = "snake_case")] pub enum ClientboundPacket { Handshake { version: String }, - Error(String), + Error(ProtoError), TaskList(Vec<Task>), InstanceList(Vec<Instance>), + Sync, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(tag = "type", content = "data", rename_all = "snake_case")] +pub enum ProtoError { + UnknownTask, + FormatError(String), } #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(tag = "type", content = "data", rename_all = "snake_case")] pub enum ServerboundPacket { + Sync, Handshake { version: String, }, @@ -31,7 +40,7 @@ pub enum ServerboundPacket { pub struct Task { pub id: u64, pub name: String, - pub description: String, + pub description: Option<String>, pub tags: Vec<String>, pub priority: f64, |