rs_bytebuffer/byte_buf/
common.rs

1#[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}