fn read_head<const LEN: usize>(&self) -> Option<[u8; LEN]> {
        if self.len() < LEN {
            None
        } else {
            let mut ret: [u8; LEN] = [0; LEN];
            let mut tmp_head = self.head;
            for byte in ret.iter_mut() {
                *byte = self.buf[tmp_head];
                tmp_head += 1;
                if tmp_head == N {
                    tmp_head = 0;
                }
            }
            Some(ret)
        }
    }
/// Read `LEN` bytes from the head, without removing it from the queue.
Read `LEN` bytes from the head, without removing it from the queue.
Read ` LEN ` bytes from the head without removing it from the queue .
fn read_head<const LEN: usize>(&self) -> Option<[u8; LEN]> {
        if self.len() < LEN {
            None
        } else {
            let mut ret: [u8; LEN] = [0; LEN];
            let mut tmp_head = self.head;
            for byte in ret.iter_mut() {
                *byte = self.buf[tmp_head];
                tmp_head += 1;
                if tmp_head == N {
                    tmp_head = 0;
                }
            }
            Some(ret)
        }
    }
fn read_head < const LEN : usize > ( & self ) -> Option < [ u8 ; LEN ] > { if self . len ( ) < LEN { None } else { let mut ret : [ u8 ; LEN ] = [ 0 ; LEN ] ; let mut tmp_head = self . head ; for byte in ret . iter_mut ( ) { * byte = self . buf [ tmp_head ] ; tmp_head += 1 ; if tmp_head == N { tmp_head = 0 ; } } Some ( ret ) } }
Read `LEN` bytes from the head, without removing it from the queue.
Read ` LEN ` bytes from the head without removing it from the queue .
&self
&self