diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-10-28 12:45:14 +0100 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-10-28 13:56:46 +0100 |
commit | 0c1e4bdebd705bde7c8a03b671c31dcd354aebcd (patch) | |
tree | b685aaa1369f0dc77989192320e7b6687acdc515 /src/buildtool/common/remote/retry.hpp | |
parent | 68e3d9129f84cdfc60aa0bc6efa518a01200bccd (diff) | |
download | justbuild-0c1e4bdebd705bde7c8a03b671c31dcd354aebcd.tar.gz |
WithRetry: Support reduced log level for failures
In some situations, we use a retry strategy, but in case of complete
failure have another way of attempting that task. In this case, we
should not emmit an error message right away. Add support for this.
Diffstat (limited to 'src/buildtool/common/remote/retry.hpp')
-rw-r--r-- | src/buildtool/common/remote/retry.hpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/buildtool/common/remote/retry.hpp b/src/buildtool/common/remote/retry.hpp index 6b8278a4..9387ef2a 100644 --- a/src/buildtool/common/remote/retry.hpp +++ b/src/buildtool/common/remote/retry.hpp @@ -24,6 +24,7 @@ #include "grpcpp/grpcpp.h" #include "src/buildtool/common/remote/retry_config.hpp" +#include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" // Utility class to help detecting when exit the retry loop. This class can be @@ -51,9 +52,11 @@ using CallableReturningRetryResponse = std::function<RetryResponse(void)>; /// \brief Calls a function with a retry strategy using a backoff algorithm. /// Retry loop interrupts when one of the two members of the function's returned /// RetryResponse object is set to true. -[[nodiscard]] auto WithRetry(CallableReturningRetryResponse const& f, - RetryConfig const& retry_config, - Logger const& logger) noexcept -> bool; +[[nodiscard]] auto WithRetry( + CallableReturningRetryResponse const& f, + RetryConfig const& retry_config, + Logger const& logger, + LogLevel fatal_log_level = LogLevel::Error) noexcept -> bool; using CallableReturningGrpcStatus = std::function<grpc::Status(void)>; |