Some concrete Algo Layer may need to get runtime arguments. For instance, for Trains algorithm, it will probably be desirable to be able to specify the number of trains which turn around simultaneously the logical ring of participating processes.
At the same time, some concrete Comm Layer may need to get runtime arguments. For instance, in the context of issue #36 , it is desirable to be able to specify at runtime the maximum number of bytes under which Tcp::send() sends a message with a single boost::asio::write().
To answer to these desires, introduce two new runtime arguments:
-A|--algoArgument <string> specifies a which can be processed by concrete Algo Layer. For instance, in the case of Trains algorithm implementation, we could use -A nbTrains=4 to specify that Trains algorithm will run 4 trains in parallel.
-C|--commArgument <string> specifies a which can be processed by concrete Comm Layer. For instance, in the case of Tcp class, we could use -C maxSizeForOneTcpWrite=65536 to specify that Tcp::send(msg) sends a message with a single boost::asio::write() as long as msg.length() is lower than 65536 bytes.
Some concrete Algo Layer may need to get runtime arguments. For instance, for Trains algorithm, it will probably be desirable to be able to specify the number of trains which turn around simultaneously the logical ring of participating processes.
At the same time, some concrete Comm Layer may need to get runtime arguments. For instance, in the context of issue #36 , it is desirable to be able to specify at runtime the maximum number of bytes under which
Tcp::send()
sends a message with a singleboost::asio::write()
.To answer to these desires, introduce two new runtime arguments:
-A|--algoArgument <string>
specifies a-A nbTrains=4
to specify that Trains algorithm will run 4 trains in parallel.-C|--commArgument <string>
specifies aTcp
class, we could use-C maxSizeForOneTcpWrite=65536
to specify thatTcp::send(msg)
sends a message with a singleboost::asio::write()
as long asmsg.length()
is lower than 65536 bytes.