/// @file party/cases.hpp /// @brief CLI and flow registration for (2+1) party processes. #ifndef LIBDPF_PARTY_CASES_HPP__ #define LIBDPF_PARTY_CASES_HPP__ #include #include "dpf/net/trio.hpp" #include "registry.hpp" namespace dpf { namespace party { void register_core_flows(); void register_bulk_flows(); void register_extreme_flows(); void register_recent_flows(); void register_coverage_flows(); void register_gadget_flows(); inline void register_all_flows() { static bool once = false; if (once) return; once = true; register_core_flows(); register_bulk_flows(); register_extreme_flows(); register_recent_flows(); register_coverage_flows(); register_gadget_flows(); } /// @brief Parse argv and run. Supports: /// --dir DIR --case NAME [--repeat N] [--warmup W] [--metrics] /// --dir DIR --tag TAGS [--repeat N] [--warmup W] [--metrics] /// --list [--tag TAGS] int run(net::role self, int argc, char ** argv); } // namespace party } // namespace dpf #endif // LIBDPF_PARTY_CASES_HPP__