# File lib/mongo/mongo_sharded_client.rb, line 92 def connect(force = !@connected) return unless force log(:info, "Connecting...") @connect_mutex.synchronize do discovered_seeds = @manager ? @manager.seeds : [] @old_managers << @manager if @manager @manager = ShardingPoolManager.new(self, discovered_seeds | @seeds) thread_local[:managers][self] = @manager @manager.connect @refresh_version += 1 @last_refresh = Time.now @connected = true end end