47 lines
1 KiB
C++
47 lines
1 KiB
C++
|
|
/// @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 <string>
|
||
|
|
|
||
|
|
#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__
|