Class LimitedTimeRetryPolicy (2.23.0)

A retry policy based on elapsed time.

This policy stops retrying if:

  • An RPC returns a non-transient error.
  • The elapsed time in the retry loop exceeds a prescribed duration.

In this class the following status codes are treated as transient errors:

Constructors

LimitedTimeRetryPolicy(std::chrono::duration< DurationRep, DurationPeriod >)

Constructor given a std::chrono::duration<> object.

See Also

https://en.cppreference.com/w/cpp/chrono/duration for more details about std::chrono::duration.

Parameters
Name Description
maximum_duration std::chrono::duration< DurationRep, DurationPeriod >

the maximum time allowed before the policy expires, while the application can express this time in any units they desire, the class truncates to milliseconds.

typename DurationRep

a placeholder to match the Rep tparam for maximum_duration's type. The semantics of this template parameter are documented in std::chrono::duration<>. In brief, the underlying arithmetic type used to store the number of ticks. For our purposes it is simply a formal parameter.

typename DurationPeriod

a placeholder to match the Period tparam for maximum_duration's type. The semantics of this template parameter are documented in std::chrono::duration<>. In brief, the length of the tick in seconds, expressed as a std::ratio<>. For our purposes it is simply a formal parameter.

LimitedTimeRetryPolicy(LimitedTimeRetryPolicy &&)

Parameter
Name Description
rhs LimitedTimeRetryPolicy &&

LimitedTimeRetryPolicy(LimitedTimeRetryPolicy const &)

Parameter
Name Description
rhs LimitedTimeRetryPolicy const &

Functions

maximum_duration() const

Returns
Type Description
std::chrono::milliseconds

virtual OnFailure(Status const &)

Parameter
Name Description
s Status const &
Returns
Type Description
bool

virtual IsExhausted() const

Returns
Type Description
bool

virtual IsPermanentFailure(Status const &) const

Parameter
Name Description
s Status const &
Returns
Type Description
bool

virtual clone() const

Creates a new instance of the policy, reset to the initial state.

Returns
Type Description
std::unique_ptr< RetryPolicy >

Type Aliases

BaseType

Alias Of: RetryPolicy