code: func (s *stream) readBytes(n uint32) ([]byte, error) {
  	if n > s.size {
  		s.buf = make([]byte, n)
  		s.size = n
  	}
  
  	if _, err := io.ReadFull(s.Reader, s.buf[:n]); err != nil {
  		return nil, err
  	}
  
  	return s.buf[:n], nil
  }
docs: // readBytes reads the given number of bytes from the reader