class EventMachine::EvmaTCPServer
@private
Public Class Methods
Source
# File lib/em/pure_ruby.rb, line 1060 def initialize io super io end
Calls superclass method
EventMachine::Selectable::new
Source
# File lib/em/pure_ruby.rb, line 1051 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
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.
Public Instance Methods
Source
# File lib/em/pure_ruby.rb, line 1073 def eventable_read begin 10.times { descriptor,peername = io.accept_nonblock sd = EvmaTCPClient.new descriptor sd.is_server = true EventMachine::event_callback uuid, ConnectionAccepted, sd.uuid } rescue Errno::EWOULDBLOCK, Errno::EAGAIN end end
Source
# File lib/em/pure_ruby.rb, line 1087 def schedule_close @close_scheduled = true end
Source
# File lib/em/pure_ruby.rb, line 1065 def select_for_reading? true end