diff --git a/src/state.rs b/src/state.rs index 9d7e4e337fd55ff34edf037a268f60528c2d207e..6da1420cd0c303b27b38d6c970cea12fe2cd7364 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 + } }