@private
# File lib/em/pure_ruby.rb, line 790 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 781 def start_server host, port sd = Socket.new( Socket::AF_INET, Socket::SOCK_STREAM, 0 ) sd.setsockopt( Socket::SOL_SOCKET, Socket::SO_REUSEADDR, true ) sd.bind( Socket.pack_sockaddr_in( port, host )) sd.listen( 50 ) # 5 is what you see in all the books. Ain't enough. EvmaTCPServer.new sd end
# File lib/em/pure_ruby.rb, line 803 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 816 def schedule_close @close_scheduled = true end
# File lib/em/pure_ruby.rb, line 795 def select_for_reading? true end