Make models more configurable.
This patch removes the --oneshot subcommand and replaces it with several new subcommands for OnionPerf's "measure" command:
--tgen-start-pause (Initial pause before file transfers.)
--tgen-num-transfers (Number of file transfers.)
--tgen-intertransfer-pause (Pause in between file transfers.)
--tgen-transfer-size (Size of each file transfer.)
By default, OnionPerf continues to run in "continuous" mode. One can simulate oneshot mode by running onionperf with the following flags:
onionperf measure --tgen-num-transfers=1
In addition to the above subcommands, this patch improves the code base by 1) adding a TGenConf class to hold TGen's configuration and by 2) adding a TGenModelConf class to hold TGen's traffic model.
This fixes tpo/metrics/onionperf#33432.
Edited by Philipp Winter