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}