func (pool *ReaderPool) setSharedRates() {
	if len(pool.givenOut) == 0 {
		return
	}
	perSecPerReader := pool.maxRate / len(pool.givenOut)
	for reader := range pool.givenOut {
		reader.SetRate(perSecPerReader)
	}
}
func (pool *ReaderPool) setSharedRates() {
	if len(pool.givenOut) == 0 {
		return
	}
	perSecPerReader := pool.maxRate / len(pool.givenOut)
	for reader := range pool.givenOut {
		reader.SetRate(perSecPerReader)
	}
}
// must be called with a lock held on `pool.mu`