code: func (p *bufferPool) Put(bs []byte) {
  	c := cap(bs)
  	// Don't buffer huge byte slices
  	if c > 2*MaxBlockSize {
  		return
  	}
  	for i := range BlockSizes {
  		if c >= BlockSizes[i] {
  			p.pools[i].Put(&bs)
  			return
  		}
  	}
  }
docs: // Put makes the given byte slice availabe again in the global pool