code: func (pool *serverPool) setRetryDial(entry *poolEntry) {
  	delay := longRetryDelay
  	if entry.shortRetry > 0 {
  		entry.shortRetry--
  		delay = shortRetryDelay
  	}
  	delay += time.Duration(rand.Int63n(int64(delay) + 1))
  	entry.delayedRetry = true
  	go func() {
  		select {
  		case <-pool.quit:
  		case <-time.After(delay):
  			select {
  			case <-pool.quit:
  			case pool.enableRetry <- entry:
  			}
  		}
  	}()
  }
docs: // setRetryDial starts the timer which will enable dialing a certain node again