Methods

Class/Module Index [+]

Quicksearch

Moped::Sockets::Connectable::ClassMethods

Public Instance Methods

connect(host, port, timeout) click to toggle source

Connect to the tcp server.

@example Connect to the server.

TCPSocket.connect("127.0.0.1", 27017, 30)

@param [ String ] host The host to connect to. @param [ Integer ] post The server port. @param [ Integer ] timeout The connection timeout.

@return [ TCPSocket ] The socket.

@since 1.0.0

# 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

[Validate]

Generated with the Darkfish Rdoc Generator 2.