LoadBalanceRSocket constructor

LoadBalanceRSocket()

Implementation

LoadBalanceRSocket() {
  this
    ..fireAndForget = (payload) {
      return getRandomRSocket()?.fireAndForget!(payload) ??
          Future.error(Exception('No available connection'));
    }
    ..requestResponse = (payload) {
      return getRandomRSocket()?.requestResponse!(payload) ??
          Future.error(Exception('No available connection'));
    }
    ..requestStream = (payload) {
      return getRandomRSocket()?.requestStream!(payload) ??
          Stream.error(Exception('No available connection'));
    }
    ..requestChannel = (payloads) {
      return getRandomRSocket()?.requestChannel!(payloads) ??
          Stream.error(Exception('No available connection'));
    }
    ..metadataPush = (payload) {
      return getRandomRSocket()?.metadataPush!(payload) ??
          Future.error(Exception('No available connection'));
    };
  healthCheckTimer = Timer.periodic(
      healthCheckIntervalSeconds, (Timer t) => checkActiveRSockets());
}