code: func (tp *BytePool) Put(el []byte) {
  	if cap(el) < 1 || cap(el) > tp.maxSize {
  		return
  	}
  	el = el[:cap(el)]
  	o := log2Floor(uint32(cap(el)))
  	p := &tp.list_of_pools[o]
  	p.mu.Lock()
  	p.list = append(p.list, el)
  	p.mu.Unlock()
  }
docs: // Put the byte slice back in pool.