class Redis::Connection::SSLSocket

def self.connect(host, port, timeout, ssl_params)

def self.connect(host, port, timeout, ssl_params)
  # Note: this is using Redis::Connection::TCPSocket
  tcp_sock = TCPSocket.connect(host, port, timeout)
  ctx = OpenSSL::SSL::SSLContext.new
  ctx.set_params(ssl_params) if ssl_params && !ssl_params.empty?
  ssl_sock = new(tcp_sock, ctx)
  ssl_sock.hostname = host
  ssl_sock.connect
  unless ctx.verify_mode == OpenSSL::SSL::VERIFY_NONE
    ssl_sock.post_connection_check(host)
  end
  ssl_sock
end