class Rev::TCPSocket::TCPConnectResolver

Public Instance Methods

on_failure() click to toggle source
# File lib/rev/socket.rb, line 198
def on_failure
  @sock.__send__(:on_resolve_failed)
  @sock.instance_eval do 
    @_resolver = nil 
    @_failed = true
  end
  return
end
on_success(addr) click to toggle source
# File lib/rev/socket.rb, line 179
def on_success(addr)
  host, port, args = @host, @port, @args

  @sock.instance_eval do
    # DNSResolver only supports IPv4 so we can safely assume IPv4 address
    begin
      socket = TCPConnectSocket.new(::Socket::AF_INET, addr, port, host)
    rescue Errno::ENETUNREACH
      on_connect_failed
      return
    end

    initialize(socket, *args)
    @_connector = Socket::Connector.new(self, socket)
    @_resolver = nil
  end
  @sock.attach(evloop)
end

Public Class Methods

new(socket, host, port, *args) click to toggle source
# File lib/rev/socket.rb, line 174
def initialize(socket, host, port, *args)
  @sock, @host, @port, @args = socket, host, port, args
  super(host)
end