class Redis::Client

def establish_connection

def establish_connection
  server = @connector.resolve.dup
  @options[:host] = server[:host]
  @options[:port] = Integer(server[:port]) if server.include?(:port)
  @connection = @options[:driver].connect(@options)
  @pending_reads = 0
rescue TimeoutError,
       SocketError,
       Errno::ECONNREFUSED,
       Errno::EHOSTDOWN,
       Errno::EHOSTUNREACH,
       Errno::ENETUNREACH,
       Errno::ENOENT,
       Errno::ETIMEDOUT
  raise CannotConnectError, "Error connecting to Redis on #{location} (#{$!.class})"
end