Class: EventMachine::EvmaUNIXClient
Instance Attribute Summary
Attributes inherited from Selectable
#io, #is_server, #uuid
Class Method Summary
collapse
Instance Method Summary
collapse
#eventable_read, #get_outbound_data_size, #get_peername, #get_sockname, #heartbeat, #send_data
Methods inherited from Selectable
#close_scheduled?, #get_peername, #get_sockname, #heartbeat, #schedule_close, #set_inactivity_timeout
Constructor Details
Returns a new instance of EvmaUNIXClient.
1025
1026
1027
1028
|
# File 'lib/em/pure_ruby.rb', line 1025
def initialize io
super
@pending = true
end
|
Class Method Details
.connect(chain) ⇒ Object
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
|
# File 'lib/em/pure_ruby.rb', line 1013
def self.connect chain
sd = Socket.new( Socket::AF_LOCAL, Socket::SOCK_STREAM, 0 )
begin
sd.connect_nonblock( Socket.pack_sockaddr_un( chain ))
rescue Errno::EINPROGRESS
end
EvmaUNIXClient.new sd
end
|
Instance Method Details
#eventable_write ⇒ Object
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
|
# File 'lib/em/pure_ruby.rb', line 1039
def eventable_write
if @pending
@pending = false
if 0 == io.getsockopt(Socket::SOL_SOCKET, Socket::SO_ERROR).unpack("i").first
EventMachine::event_callback uuid, ConnectionCompleted, ""
end
else
super
end
end
|
#select_for_reading? ⇒ Boolean
1035
1036
1037
|
# File 'lib/em/pure_ruby.rb', line 1035
def select_for_reading?
@pending ? false : super
end
|
#select_for_writing? ⇒ Boolean
1031
1032
1033
|
# File 'lib/em/pure_ruby.rb', line 1031
def select_for_writing?
@pending ? true : super
end
|