15#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_IDEMPOTENT_MUTATION_POLICY_H
16#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_IDEMPOTENT_MUTATION_POLICY_H
18#include "google/cloud/bigtable/mutations.h"
19#include "google/cloud/bigtable/version.h"
25GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
28
29
30
42 google::bigtable::v2::CheckAndMutateRowRequest
const&) = 0;
49
50
51
52
53
54
62 google::bigtable::v2::CheckAndMutateRowRequest
const&)
override;
66
67
68
69
70
71
72
73
74
82 google::bigtable::v2::CheckAndMutateRowRequest
const&)
override;
85GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
Implements a policy that retries all mutations.
Definition: idempotent_mutation_policy.h:75
bool is_idempotent(google::bigtable::v2::Mutation const &) override
Return true if the mutation is idempotent.
std::unique_ptr< IdempotentMutationPolicy > clone() const override
Return a copy of the policy.
AlwaysRetryMutationPolicy()=default
bool is_idempotent(google::bigtable::v2::CheckAndMutateRowRequest const &) override
Return true if a conditional mutation is idempotent.
Defines the interface to control which mutations are idempotent and therefore can be re-tried.
Definition: idempotent_mutation_policy.h:31
virtual bool is_idempotent(google::bigtable::v2::Mutation const &)=0
Return true if the mutation is idempotent.
virtual std::unique_ptr< IdempotentMutationPolicy > clone() const =0
Return a copy of the policy.
virtual bool is_idempotent(google::bigtable::v2::CheckAndMutateRowRequest const &)=0
Return true if a conditional mutation is idempotent.
virtual ~IdempotentMutationPolicy()=default
Implements a policy that only accepts truly idempotent mutations.
Definition: idempotent_mutation_policy.h:55
bool is_idempotent(google::bigtable::v2::Mutation const &) override
Return true if the mutation is idempotent.
SafeIdempotentMutationPolicy()=default
bool is_idempotent(google::bigtable::v2::CheckAndMutateRowRequest const &) override
Return true if a conditional mutation is idempotent.
std::unique_ptr< IdempotentMutationPolicy > clone() const override
Return a copy of the policy.
Contains all the Cloud Bigtable C++ client APIs.
Definition: admin_client.h:28
std::unique_ptr< IdempotentMutationPolicy > DefaultIdempotentMutationPolicy()
Return an instance of the default IdempotentMutationPolicy.