aboutsummaryrefslogtreecommitdiff
path: root/src/protocol/primitive/mod.rs
blob: 2cdd20a1dd09c02a9225a1e795b8bc1b2638f1c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#[allow(dead_code)]
pub mod basic;
pub mod variant;

pub use basic::*;
pub use variant::*;

pub mod serialize {
    pub trait Serialize {
        fn serialize(&self) -> Vec<u8>;
    }
    pub trait SerializeUTF8 {
        fn serialize_utf8(&self) -> Vec<u8>;
    }
}

pub mod deserialize {
    pub trait Deserialize {
        fn parse(b: &[u8]) -> (usize, Self);
    }
    pub trait DeserializeUTF8 {
        fn parse_utf8(b: &[u8]) -> (usize, Self);
    }
}

pub mod qread {
    pub trait QRead {
        fn read<T: std::io::Read>(stream: &mut T, buf: &mut [u8]) -> usize;
    }
}