# File lib/mongo/mongo_replica_set_client.rb, line 184
    def connect
      log(:info, "Connecting...")
      @connect_mutex.synchronize do
        return if @connected

        seeds = @manager.nil? ? @seeds : @manager.seeds
        @manager = PoolManager.new(self, seeds)

        thread_local[:managers][self] = @manager

        @manager.connect
        @refresh_version += 1

        if @manager.pools.empty?
          close
          raise ConnectionFailure, "Failed to connect to any node."
        else
          @connected = true
        end
      end
    end