This repository was archived by the owner on Dec 8, 2021. It is now read-only.

Description
Method idempotency is important when determining whether it is safe to retry a failed operation. IdempotencyPolicy will be an abstract base class and will expose one interface method, CanRetry, and a Clone method, similar to RetryPolicy and BackoffPolicy.
The proposed method signature is:
bool CanRetry(gax::Status const& status, gax::MethodInfo const& info) const;
The reference concrete child class will take a conservative approach to retryability.