code: func (b *ByteBuf) PeekN(offset int, n int) ([]byte, error) {
  	if b.Readable() < n+offset {
  		return nil, io.ErrShortBuffer
  	}
  
  	start := b.readerIndex + offset
  	return b.buf[start : start+n], nil
  }
docs: // PeekN get bytes from buf based on currently read index, after read, read index not modifed