summaryrefslogtreecommitdiff
path: root/src/buildtool/common/remote/retry.hpp
AgeCommit message (Collapse)Author
2025-02-11Implement IsReasonableToRetryMaksim Denisov
2024-11-14common: Implement IWYU suggestionsPaul Cristian Sarbu
2024-10-28WithRetry: Support reduced log level for failuresKlaus Aehlig
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.
2024-07-19Pass RetryConfig instance to WithRetryPaul Cristian Sarbu
2024-07-19WithRetry: Replace template parameters by std::functionPaul Cristian Sarbu
Now also requires guarding for bootstrapping to not bring in grpc.
2024-07-19Fix naming inconsistencies in retry configurationPaul Cristian Sarbu
The retry_parameters.hpp header-only library defining the Retry class now is the retry_config.hpp header-only library defining the RetryConfig class.
2024-07-19common remote: Fix missing or wrong header guardsPaul Cristian Sarbu
2024-05-15logging: Do not make assumptions in emit callsPaul Cristian Sarbu
The Emit method of the Logger class, when called with a string as second argument, expects it to be a format string. It should be considered a programming error to pass a string variable as that argument without knowing for certain that it does not contain any format escape character ('{', '}'); instead, one should be conservative and use the blind format string "{}" as second argument and pass the unknown string variable as third argument.
2024-03-26Add missing system includesPaul Cristian Sarbu
Main culprits: - std::size_t, std::nullptr_t, and NULL require <cstddef> - std::move and std::forward require <utility> - unordered maps and sets require respective includes - std::for_each and std::all_of require <algorithm>
2024-03-15Clean up more includes and targetsPaul Cristian Sarbu
Some of the more specific issues addressed: - missing log_level target/include - header-only libs wrongly marking deps as private - missing/misplaced gsl includes
2023-12-13Add a retry lib that provides useful wrappers to allow to retry...Alberto Sartori
...the provided function until either the function succeeds, maximum number of attempts is reached or the function returns an error indicating that we cannot simply retry. It is meant to be used with rpc calls, but the logic can be applied to other scenarios.