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