use crate::buffer::ReadBuffer;
pub trait Receiver {
fn is_logging(&self) -> bool;
fn set_logging(&mut self, enable: bool);
fn on_receive(&mut self, data: &[u8]) -> bool;
fn on_receive_log(&self, message: &str) {
let _ = message;
}
fn receive(&mut self, data: &[u8]) -> bool {
let size = data.len();
if self.is_logging() {
self.on_receive_log(&format!("Received {} bytes", size));
}
self.on_receive(data)
}
}
pub trait Deserialize: Sized {
fn deserialize(buffer: &ReadBuffer) -> Self;
}