Define the interface for controlling how the Bigtable client retries RPC operations.
The C++ client for Bigtable needs to hide partial and temporary failures from the application. However, we need to give the users enough flexibility to control how many attempts are made to reissue operations, how often these attempts are executed, and how to signal that an error has occurred.
The application provides an instance of this class when the Table (or TableAdmin) object is created. This instance serves as a prototype to create new RPCRetryPolicy objects of the same (dynamic) type and with the same initial state.
Functions
clone() const
Return a new copy of this object.
Typically implemented as ```cpp
return std::unique_ptr
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-14 UTC."],[[["This page provides documentation for the `RPCRetryPolicy` class in the Google Cloud Bigtable C++ client library, specifically for version 2.18.0."],["The `RPCRetryPolicy` class defines how the Bigtable client handles retrying failed RPC operations, providing methods to control the number of retry attempts and the timing between them."],["The `Table` and `TableAdmin` objects uses an instance of `RPCRetryPolicy` as a prototype for creating new `RPCRetryPolicy` objects, each having the same type and initial state."],["Key functions of the `RPCRetryPolicy` class include `clone()` for creating copies, `Setup()` for updating `ClientContext`, and `OnFailure()` for determining if an RPC operation should be retried after a failure."],["The documentation also details how to identify permanent failures through the `IsPermanentFailure` method and provides insight into the `RetryableTraits` type alias."]]],[]]