Module: Moped::Sockets::Connectable::ClassMethods
- Defined in:
- lib/moped/sockets/connectable.rb
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.
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/moped/sockets/connectable.rb', line 149 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 |