1212#include " link_queue.hh"
1313#include " packetshell.cc"
1414#include " tokenize.hh"
15+ #include " parsed_arguments.hh"
1516
1617using namespace std ;
1718
@@ -27,15 +28,15 @@ void usage_error( const string & program_name )
2728 cerr << " --uplink-queue=QUEUE_TYPE --downlink-queue=QUEUE_TYPE" << endl;
2829 cerr << " --uplink-queue-args=QUEUE_ARGS --downlink-queue-args=QUEUE_ARGS" << endl;
2930 cerr << endl;
30- cerr << " QUEUE_TYPE = infinite | droptail | drophead | codel | pie" << endl;
31+ cerr << " QUEUE_TYPE = infinite | droptail | drophead | codel | pie | red " << endl;
3132 cerr << " QUEUE_ARGS = \" NAME=NUMBER[, NAME2=NUMBER2, ...]\" " << endl;
3233 cerr << " (with NAME = bytes | packets | target | interval | qdelay_ref | max_burst)" << endl;
3334 cerr << " target, interval, qdelay_ref, max_burst are in milli-second" << endl << endl;
3435
3536 throw runtime_error ( " invalid arguments" );
3637}
3738
38- unique_ptr<AbstractPacketQueue> get_packet_queue ( const string & type, const map<string, string> & args, const string & program_name )
39+ unique_ptr<AbstractPacketQueue> get_packet_queue ( const string & type, ParsedArguments args, const string & program_name )
3940{
4041 if ( type == " infinite" ) {
4142 return unique_ptr<AbstractPacketQueue>( new InfinitePacketQueue ( args ) );
@@ -73,10 +74,10 @@ string shell_quote( const string & arg )
7374 return ret;
7475}
7576
76- map<string, string> parse_queue_args ( const string & arg) {
77+ ParsedArguments parse_queue_args ( const string & arg) {
7778 map<string, string> argMap = map<string, string>();
7879 if (arg.size () == 0 ) {
79- return argMap;
80+ return ParsedArguments ( argMap ) ;
8081 }
8182 vector<string> argList = split (arg, " ," );
8283
@@ -90,7 +91,7 @@ map<string, string> parse_queue_args( const string & arg) {
9091 argMap.insert (pair<string, string>(argParts[0 ], argParts[1 ]));
9192 }
9293
93- return argMap;
94+ return ParsedArguments ( argMap ) ;
9495}
9596
9697int main ( int argc, char *argv[] )
0 commit comments