Class: Rev::Socket::Connector

Inherits:
IOWatcher show all
Defined in:
lib/rev/socket.rb

Instance Method Summary collapse

Methods inherited from IOWatcher

#attach, #detach, #disable, #enable, #on_readable

Methods inherited from Watcher

#attach, #attached?, #detach, #disable, #enable, event_callback, #evloop, watcher_delegate

Constructor Details

#initialize(rev_socket, ruby_socket) ⇒ Connector

Returns a new instance of Connector.



46
47
48
49
# File 'lib/rev/socket.rb', line 46

def initialize(rev_socket, ruby_socket)
  @rev_socket, @ruby_socket = rev_socket, ruby_socket
  super(ruby_socket, :w)
end

Instance Method Details

#on_writableObject



51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/rev/socket.rb', line 51

def on_writable
  evl = evloop
  detach

  if connect_successful?
    @rev_socket.instance_eval { @connector = nil }
    @rev_socket.attach(evl)
    @rev_socket.on_connect
  else
    @rev_socket.instance_eval { @failed = true }
    @rev_socket.on_connect_failed
  end
end