code: func (m *Manager) refreshServerRebalanceTimer() time.Duration {
  	l := m.getServerList()
  	numServers := len(l.servers)
  	// Limit this connection's life based on the size (and health) of the
  	// cluster.  Never rebalance a connection more frequently than
  	// connReuseLowWatermarkDuration, and make sure we never exceed
  	// clusterWideRebalanceConnsPerSec operations/s across numLANMembers.
  	clusterWideRebalanceConnsPerSec := float64(numServers * newRebalanceConnsPerSecPerServer)
  	connReuseLowWatermarkDuration := clientRPCMinReuseDuration + lib.RandomStagger(clientRPCMinReuseDuration/clientRPCJitterFraction)
  	numLANMembers := m.clusterInfo.NumNodes()
  	connRebalanceTimeout := lib.RateScaledInterval(clusterWideRebalanceConnsPerSec, connReuseLowWatermarkDuration, numLANMembers)
  
  	m.rebalanceTimer.Reset(connRebalanceTimeout)
  	return connRebalanceTimeout
  }
docs: // refreshServerRebalanceTimer is only called once m.rebalanceTimer expires.