code: func (s *Serf) handleReconnect() {
  	for {
  		select {
  		case <-time.After(s.config.ReconnectInterval):
  			s.reconnect()
  		case <-s.shutdownCh:
  			return
  		}
  	}
  }
docs: // handleReconnect attempts to reconnect to recently failed nodes
  // on configured intervals.