Google Cloud Spanner C++ Client
1.32.0
A C++ Client Library for Google Cloud Spanner
admin
retry_traits.h
Go to the documentation of this file.
1
// Copyright 2021 Google LLC
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#
ifndef
GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_ADMIN_RETRY_TRAITS_H
16
#
define
GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_ADMIN_RETRY_TRAITS_H
17
18
#
include
"google/cloud/status.h"
19
#
include
"google/cloud/version.h"
20
21
namespace
google
{
22
namespace
cloud
{
23
namespace
spanner_admin_internal
{
24
inline
namespace
GOOGLE_CLOUD_CPP_GENERATED_NS
{
25
26
/// Define the gRPC status code semantics for retrying requests.
27
28
struct
DatabaseAdminRetryTraits
{
29
static
inline
bool
IsPermanentFailure
(
google
::
cloud
::
Status
const
& status) {
30
return
status
.
code
(
)
!=
StatusCode
::
kOk
&&
31
status
.
code
(
)
!=
StatusCode
::
kDeadlineExceeded
&&
32
status
.
code
(
)
!=
StatusCode
::
kUnavailable
;
33
}
34
};
35
36
struct
InstanceAdminRetryTraits
{
37
static
inline
bool
IsPermanentFailure
(
google
::
cloud
::
Status
const
& status) {
38
return
status
.
code
(
)
!=
StatusCode
::
kOk
&&
39
status
.
code
(
)
!=
StatusCode
::
kDeadlineExceeded
&&
40
status
.
code
(
)
!=
StatusCode
::
kUnavailable
;
41
}
42
};
43
44
}
// namespace GOOGLE_CLOUD_CPP_GENERATED_NS
45
}
// namespace spanner_admin_internal
46
}
// namespace cloud
47
}
// namespace google
48
49
#
endif
// GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_ADMIN_RETRY_TRAITS_H
Generated on Wed Oct 6 2021 01:08:32 for Google Cloud Spanner C++ Client by
1.9.1