getRandomRSocket method

RSocket? getRandomRSocket()

Implementation

RSocket? getRandomRSocket() {
  if (poolSize == 0) {
    return null;
  }
  counter = counter + 1;
  if (counter >= 0x7FFFFFFF) {
    counter = 0;
  }
  var rsocket = roundRobin[counter % poolSize];
  if (rsocket.availability() == 0.0) {
    roundRobin.remove(rsocket);
    poolSize = roundRobin.length;
    activeRSockets.removeWhere((key, value) => value == rsocket);
    return getRandomRSocket();
  } else {
    return rsocket;
  }
}