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());
}