rs_bytebuffer/byte_buf/
common.rs1#[macro_export]
2macro_rules! get_number {
3 ($self:ident, $name:ident, $length:expr, $isBe:expr) => {{
4
5 if $self.readable() < $length { return Err(ErrorType::ReadableShortage); }
6
7 if $isBe {
8 return Ok(BigEndian::$name(&$self.byte_array[$self.read_index..$self.read_index + $length]));
9 } else {
10 return Ok(LittleEndian::$name(&$self.byte_array[$self.read_index..$self.read_index + $length]));
11 }
12 }};
13}
14
15#[macro_export]
16macro_rules! read_number {
17 ($self:ident, $name:ident, $length:expr) => {{
18 return match $self.$name() {
19 Ok(v) => {
20 $self.read_index += $length;
21 Ok(v)
22 },
23 Err(error_type) => {Err(error_type)}
24 }
25 }};
26}