diff options
Diffstat (limited to 'src/buildtool/common/cli.hpp')
-rw-r--r-- | src/buildtool/common/cli.hpp | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/src/buildtool/common/cli.hpp b/src/buildtool/common/cli.hpp index 1d64fbda..eded8112 100644 --- a/src/buildtool/common/cli.hpp +++ b/src/buildtool/common/cli.hpp @@ -31,6 +31,7 @@ #include "nlohmann/json.hpp" #include "src/buildtool/build_engine/expression/evaluator.hpp" #include "src/buildtool/common/clidefaults.hpp" +#include "src/buildtool/common/retry_cli.hpp" #include "src/buildtool/compatibility/compatibility.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/main/build_utils.hpp" @@ -92,13 +93,6 @@ struct DiagnosticArguments { std::optional<std::string> dump_nodes{std::nullopt}; }; -/// \brief Arguments required for tuning the retry strategy. -struct RetryArguments { - std::optional<unsigned int> max_attempts{}; - std::optional<unsigned int> initial_backoff_seconds{}; - std::optional<unsigned int> max_backoff_seconds{}; -}; - /// \brief Arguments required for specifying build endpoint. struct EndpointArguments { std::optional<std::filesystem::path> local_root{}; @@ -761,27 +755,6 @@ static inline auto SetupServeArguments( ->required(); } -static inline void SetupRetryArguments( - gsl::not_null<CLI::App*> const& app, - gsl::not_null<RetryArguments*> const& args) { - app->add_option( - "--max-attempts", - args->max_attempts, - "Total number of attempts in case of a remote resource becomes " - "unavailable. Must be greater than 0. (Default: 1)"); - app->add_option( - "--initial-backoff-seconds", - args->initial_backoff_seconds, - "Initial amount of time, in seconds, to wait before retrying a rpc " - "call. The waiting time is doubled at each attempt. Must be greater " - "than 0. (Default: 1)"); - app->add_option("--max-backoff-seconds", - args->max_backoff_seconds, - "The backoff time cannot be bigger than this parameter. " - "Note that some jitter is still added to avoid to overload " - "the resources that survived the outage. (Default: 60)"); -} - static inline void SetupGcArguments(gsl::not_null<CLI::App*> const& app, gsl::not_null<GcArguments*> const& args) { app->add_flag("--no-rotate", |