iceberg-cpp
Loading...
Searching...
No Matches
Classes | Namespaces | Concepts | Typedefs | Enumerations | Functions | Variables
retry_util.h File Reference

Provide retry policy and runner utilities. More...

#include <chrono>
#include <cstdint>
#include <functional>
#include <optional>
#include <type_traits>
#include <utility>
#include "iceberg/iceberg_export.h"
#include "iceberg/result.h"
#include "iceberg/util/macros.h"

Go to the source code of this file.

Classes

struct  iceberg::RetryConfig
 Configuration for retry behavior. More...
 
class  iceberg::detail::RetryRunnerBase
 
struct  iceberg::retry::RetryPolicy< Mode, Kinds >
 
class  iceberg::RetryRunner< RetryPolicy >
 Utility class for running tasks with retry logic. More...
 

Namespaces

namespace  iceberg
 Core Apache Iceberg C++ APIs.
 
namespace  iceberg::retry
 Retry policy APIs.
 

Concepts

concept  iceberg::detail::RetryTask
 
concept  iceberg::retry::Policy
 

Typedefs

using iceberg::retry::NoRetry = RetryPolicy< RetryPolicyMode::kNoRetry >
 
template<ErrorKind... Kinds>
using iceberg::retry::OnlyRetryOn = RetryPolicy< RetryPolicyMode::kOnlyRetryOn, Kinds... >
 
template<ErrorKind... Kinds>
using iceberg::retry::StopRetryOn = RetryPolicy< RetryPolicyMode::kStopRetryOn, Kinds... >
 

Enumerations

enum class  RetryPolicyMode { kNoRetry , kOnlyRetryOn , kStopRetryOn }
 

Functions

ICEBERG_EXPORT auto iceberg::MakeCommitRetryRunner (int32_t num_retries, int32_t min_wait_ms, int32_t max_wait_ms, int32_t total_timeout_ms)
 Helper function to create a RetryRunner with table commit configuration.
 

Variables

template<typename T >
constexpr bool iceberg::retry::kIsRetryPolicy = false
 
template<RetryPolicyMode Mode, ErrorKind... Kinds>
constexpr bool iceberg::retry::kIsRetryPolicy< RetryPolicy< Mode, Kinds... > > = true
 

Detailed Description

Provide retry policy and runner utilities.