code: func (b *ByteBuf) Expansion(n int) {
  	if free := b.Writeable(); free < n {
  		newBuf := b.pool.Alloc(b.Capacity() + n)
  		offset := b.writerIndex - b.readerIndex
  		copy(newBuf, b.buf[b.readerIndex:b.writerIndex])
  		b.readerIndex = 0
  		b.writerIndex = offset
  		b.pool.Free(b.buf)
  		b.buf = newBuf
  	}
  }
docs: // Expansion expansion buf size