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