NetworkKVM/messages/src/lib.rs
2023-03-22 23:27:53 -04:00

19 lines
496 B
Rust

pub mod client_registration;
pub trait Serializable where Self: Sized {
fn serialize(&self, buf: &mut [u8]);
fn deserialize(buf: &[u8]) -> Result<Self, DeserializationError>;
}
// From: https://stackoverflow.com/questions/28127165/how-to-convert-struct-to-u8
pub unsafe fn any_as_u8_slice<T: Sized>(p: &T) -> &[u8] {
::core::slice::from_raw_parts(
(p as *const T) as *const u8,
::core::mem::size_of::<T>(),
)
}
pub enum DeserializationError {
MissingData
}