Define the interface for controlling how the Bigtable client backsoff from failed 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 RPCBackoffPolicy 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
return std::unique_ptr<RPCRetryPolicy>(new Foo(*this));
Returns | |
---|---|
Type | Description |
std::unique_ptr< RPCBackoffPolicy > |
Setup(grpc::ClientContext &) const
Update the ClientContext for the next call.
Parameter | |
---|---|
Name | Description |
context |
grpc::ClientContext &
|
Returns | |
---|---|
Type | Description |
void |
OnCompletion(Status const &)
Return the delay after an RPC operation has completed.
Parameter | |
---|---|
Name | Description |
status |
Status const &
the status returned by the last RPC operation. |
Returns | |
---|---|
Type | Description |
std::chrono::milliseconds |
true the delay before trying the operation again. |
OnCompletion(grpc::Status const &)
Parameter | |
---|---|
Name | Description |
s |
grpc::Status const &
|
Returns | |
---|---|
Type | Description |
std::chrono::milliseconds |
OnCompletion()
Returns | |
---|---|
Type | Description |
std::chrono::milliseconds |