code: func pushPullScale(interval time.Duration, n int) time.Duration {
  	// Don't scale until we cross the threshold
  	if n <= pushPullScaleThreshold {
  		return interval
  	}
  
  	multiplier := math.Ceil(math.Log2(float64(n))-math.Log2(pushPullScaleThreshold)) + 1.0
  	return time.Duration(multiplier) * interval
  }
docs: // pushPushScale is used to scale the time interval at which push/pull
  // syncs take place. It is used to prevent network saturation as the
  // cluster size grows