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 document details the `RPCRetryPolicy` class in the C++ Bigtable client, which defines the interface for controlling how RPC operations are retried in the event of failures."],["The `RPCRetryPolicy` class provides functions to clone the object, set up the `ClientContext`, and handle RPC failures to decide whether to retry operations."],["It defines functions to check if the retry policy is exhausted or if a given failure is permanent using the functions `IsExhausted` and `IsPermanentFailure`."],["The C++ client uses this policy to manage retries, helping to hide partial or temporary errors from the application while allowing users to configure the retry behavior when creating a `Table` or `TableAdmin` object."],["The document also provides a comprehensive list of the various versions for the `RPCRetryPolicy`, which include release candidates, as well as stable releases, ranging from 2.11.0 all the way up to 2.37.0-rc."]]],[]]