code: func (bp *SizedBufferPool) Put(b *bytes.Buffer) {
  	b.Reset()
  
  	// Release buffers over our maximum capacity and re-create a pre-sized
  	// buffer to replace it.
  	// Note that the cap(b.Bytes()) provides the capacity from the read off-set
  	// only, but as we've called b.Reset() the full capacity of the underlying
  	// byte slice is returned.
  	if cap(b.Bytes()) > bp.a {
  		b = bytes.NewBuffer(make([]byte, 0, bp.a))
  	}
  
  	select {
  	case bp.c <- b:
  	default: // Discard the buffer if the pool is full.
  	}
  }
docs: // Put returns the given Buffer to the SizedBufferPool.