From 5e59312088ae5490429ce5af21c184eefa76e503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com> Date: Sat, 5 Aug 2023 13:27:54 +0100 Subject: [PATCH] chore: initial serialization --- src/state.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/state.rs b/src/state.rs index 9d7e4e33..6da1420c 100644 --- a/src/state.rs +++ b/src/state.rs @@ -73,7 +73,7 @@ pub struct BeesCore { trait Serialize { fn store(&self, buffer: &mut Vec<u8>); - fn load(&mut self, data: &[u8]); + fn load(&mut self, data: &[u8]) -> u32; } impl Serialize for BeesState { @@ -81,7 +81,7 @@ impl Serialize for BeesState { self.info.store(buffer); } - fn load(&mut self, data: &[u8]) { + fn load(&mut self, data: &[u8]) -> u32 { todo!() } } @@ -92,20 +92,25 @@ impl Serialize for BeesBlockHeader { buffer.write(&self.size.to_le_bytes()).unwrap(); } - fn load(&mut self, data: &[u8]) { + fn load(&mut self, data: &[u8]) -> u32 { self.magic = u32::from_le_bytes(data[0..4].try_into().unwrap()); self.size = u32::from_le_bytes(data[4..8].try_into().unwrap()); + 8 } } impl Serialize for BeesName { fn store(&self, buffer: &mut Vec<u8>) {} - fn load(&mut self, data: &[u8]) {} + fn load(&mut self, data: &[u8]) -> u32 { + 0 + } } impl Serialize for BeesInfo { fn store(&self, buffer: &mut Vec<u8>) {} - fn load(&mut self, data: &[u8]) {} + fn load(&mut self, data: &[u8]) -> u32 { + 0 + } } -- GitLab