@private
# File lib/em/pure_ruby.rb, line 846 def initialize io super io end
Versions of ruby 1.8.4 later than May 26 2006 will work properly with an object of type TCPServer. Prior versions won't so we play it safe and just build a socket.
# File lib/em/pure_ruby.rb, line 837 def start_server chain sd = Socket.new( Socket::AF_LOCAL, Socket::SOCK_STREAM, 0 ) sd.setsockopt( Socket::SOL_SOCKET, Socket::SO_REUSEADDR, true ) sd.bind( Socket.pack_sockaddr_un( chain )) sd.listen( 50 ) # 5 is what you see in all the books. Ain't enough. EvmaUNIXServer.new sd end
# File lib/em/pure_ruby.rb, line 859 def eventable_read begin 10.times { descriptor,peername = io.accept_nonblock sd = StreamObject.new descriptor EventMachine::event_callback uuid, ConnectionAccepted, sd.uuid } rescue Errno::EWOULDBLOCK, Errno::EAGAIN end end
# File lib/em/pure_ruby.rb, line 872 def schedule_close @close_scheduled = true end
# File lib/em/pure_ruby.rb, line 851 def select_for_reading? true end