libdpf/party/cases.hpp

47 lines
1 KiB
C++
Raw Normal View History

/// @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__