Module: Moped::Connection::Socket::Connectable::ClassMethods
- Defined in:
- lib/moped/connection/socket/connectable.rb
Overview
Instance Method Summary collapse
-
#connect(host, port, timeout) ⇒ TCPSocket
Connect to the tcp server.
Instance Method Details
#connect(host, port, timeout) ⇒ TCPSocket
Connect to the tcp server.
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
# File 'lib/moped/connection/socket/connectable.rb', line 142 def connect(host, port, timeout) begin Timeout::timeout(timeout) do sock = new(host, port) sock.set_encoding('binary') timeout_val = [ timeout, 0 ].pack("l_2") sock.setsockopt(::Socket::IPPROTO_TCP, ::Socket::TCP_NODELAY, 1) sock.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_RCVTIMEO, timeout_val) sock.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_SNDTIMEO, timeout_val) sock end rescue Timeout::Error raise Errors::ConnectionFailure, "Timed out connection to Mongo on #{host}:#{port}" end end |