Class: Redis::Connection::Universal
- Inherits:
-
Ruby
- Object
- Ruby
- Redis::Connection::Universal
- Defined in:
- lib/redis/connection/universal.rb
Instance Method Summary collapse
Instance Method Details
#connect(uri, timeout) ⇒ Object
7 8 9 10 |
# File 'lib/redis/connection/universal.rb', line 7 def connect(uri, timeout) super if uri.scheme == 'redis' return connect_ssl(uri, timeout) if uri.scheme == 'redis+ssl' end |
#connect_ssl(uri, timeout) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/redis/connection/universal.rb', line 12 def connect_ssl(uri, timeout) with_timeout(timeout.to_f / 1_000_000) do tcp_sock = TCPSocket.new(uri.host, uri.port) tcp_sock.setsockopt Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1 ssl_context = OpenSSL::SSL::SSLContext.new() @sock = OpenSSL::SSL::SSLSocket.new(tcp_sock, ssl_context) @sock.sync_close = true @sock.connect end end |