pkt/util.rs
1/// Allow conversion of above structs in to byte slices
2pub trait AsBytes {
3 /* I can't believe this isn't in std somewhere? */
4 fn as_bytes(&self) -> &[u8];
5}
6
7pub trait Serialize {}
8
9impl<T> AsBytes for T
10where
11 T: Serialize,
12{
13 #[inline(always)]
14 fn as_bytes(&self) -> &[u8] {
15 let size = std::mem::size_of::<T>();
16 return unsafe { std::slice::from_raw_parts(&*(self as *const T as *const u8), size) };
17 }
18}