A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1RetryPolicy.html below:

Class RetryPolicy (2.42.0-rc) | C++ Client Libraries

Class RetryPolicy (2.42.0-rc)

Stay organized with collections Save and categorize content based on your preferences.

Define the interface for retry policies.

Functions OnFailure(Status const &)

Return true if the retry loop should continue after status.

This functions are typically used in a retry loop, where they control whether to continue, whether a failure should be retried, and finally how to format the error message.

std::unique_ptr<RetryPolicy> policy = ....;
Status status;
while (!policy->IsExhausted()) {
  auto response = try_rpc();  // typically `response` is StatusOr<T>
  if (response.ok()) return response;
  status = std::move(response).status();
  if (!policy->OnFailure(response->status())) {
    if (policy->IsPermanentFailure(response->status()) {
      return StatusModifiedToSayPermanentFailureCausedTheProblem(status);
    }
    return StatusModifiedToSayPolicyExhaustionCausedTheProblem(status);
  }
  // sleep, which may exhaust the policy, even if it was not exhausted in
  // the last call.
}
return StatusModifiedToSayPolicyExhaustionCausedTheProblem(status);
Parameter Name Description status Status const &
Returns Type Description bool IsExhausted() const

Return true if the retry policy should stop as the retry limit has been reached.

This functions are typically used in a retry loop, where they control whether to continue, whether a failure should be retried, and finally how to format the error message.

std::unique_ptr<RetryPolicy> policy = ....;
Status status;
while (!policy->IsExhausted()) {
  auto response = try_rpc();  // typically `response` is StatusOr<T>
  if (response.ok()) return response;
  status = std::move(response).status();
  if (!policy->OnFailure(response->status())) {
    if (policy->IsPermanentFailure(response->status()) {
      return StatusModifiedToSayPermanentFailureCausedTheProblem(status);
    }
    return StatusModifiedToSayPolicyExhaustionCausedTheProblem(status);
  }
  // sleep, which may exhaust the policy, even if it was not exhausted in
  // the last call.
}
return StatusModifiedToSayPolicyExhaustionCausedTheProblem(status);
Returns Type Description bool IsPermanentFailure(Status const &) const

Return true if status is treated as a permanent (and therefore non-retryable) error.

This functions are typically used in a retry loop, where they control whether to continue, whether a failure should be retried, and finally how to format the error message.

std::unique_ptr<RetryPolicy> policy = ....;
Status status;
while (!policy->IsExhausted()) {
  auto response = try_rpc();  // typically `response` is StatusOr<T>
  if (response.ok()) return response;
  status = std::move(response).status();
  if (!policy->OnFailure(response->status())) {
    if (policy->IsPermanentFailure(response->status()) {
      return StatusModifiedToSayPermanentFailureCausedTheProblem(status);
    }
    return StatusModifiedToSayPolicyExhaustionCausedTheProblem(status);
  }
  // sleep, which may exhaust the policy, even if it was not exhausted in
  // the last call.
}
return StatusModifiedToSayPolicyExhaustionCausedTheProblem(status);
Parameter Name Description status Status const &
Returns Type Description bool

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-08-14 UTC.

[[["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-08-14 UTC."],[[["The latest version available is 2.37.0-rc, with numerous older versions available dating back to 2.10.1."],["`RetryPolicy` defines an interface for determining whether an operation should be retried after a failure."],["`OnFailure(Status const &)` determines if a retry loop should continue based on the provided status."],["`IsExhausted()` checks if the retry limit has been reached and if the policy should stop."],["`IsPermanentFailure(Status const &)` checks whether a given `status` represents a non-retryable error."]]],[]]


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4