# 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