code: def _next_server(self):
          
          if self.options["dont_randomize"]:
              server = self._server_pool.pop(0)
              self._server_pool.append(server)
          else:
              shuffle(self._server_pool)
  
          s = None
          for server in self._server_pool:
              if self.options["max_reconnect_attempts"] > 0 and (
                      server.reconnects >
                      self.options["max_reconnect_attempts"]):
                  continue
              else:
                  s = server
          return s
docs: Chooses next available server to connect.