# File lib/eventmachine.rb, line 487
487:   def EventMachine::start_server server, port, handler=nil, *args, &block
488:     klass = if (handler and handler.is_a?(Class))
489:       handler
490:     else
491:       Class.new( Connection ) {handler and include handler}
492:     end
493: 
494:     arity = klass.instance_method(:initialize).arity
495:     expected = arity >= 0 ? arity : -(arity + 1)
496:     if (arity >= 0 and args.size != expected) or (arity < 0 and args.size < expected)
497:       raise ArgumentError, "wrong number of arguments for #{klass}#initialize (#{args.size} for #{expected})" 
498:     end
499: 
500:     s = start_tcp_server server, port
501:     @acceptors[s] = [klass,args,block]
502:     s
503:   end