# File lib/cool.io/eventmachine.rb, line 81 def start_server(addr, port, handler = Connection, *args, &block) # make sure we're a 'real' class here klass = if (handler and handler.is_a?(Class)) handler else Class.new( Connection ) {handler and include handler} end server = Coolio::TCPServer.new(addr, port, CallsBackToEM, *args) do |wrapped_child| conn = klass.new(wrapped_child) conn.heres_your_socket(wrapped_child) # ideally NOT have this :) wrapped_child.call_back_to_this(conn) block.call(conn) if block end server.attach(Coolio::Loop.default) end