v1.9: Bump tonic, tonic-build, prost, and etcd-client (#24159)
* Bump tonic, prost, and etcd-client * Restore doc ignores * Restore clippy ignore
This commit is contained in:
430
Cargo.lock
generated
430
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -21,7 +21,7 @@ bs58 = "0.4.0"
|
|||||||
chrono = { version = "0.4.11", features = ["serde"] }
|
chrono = { version = "0.4.11", features = ["serde"] }
|
||||||
crossbeam-channel = "0.5"
|
crossbeam-channel = "0.5"
|
||||||
dashmap = { version = "4.0.2", features = ["rayon", "raw-api"] }
|
dashmap = { version = "4.0.2", features = ["rayon", "raw-api"] }
|
||||||
etcd-client = { version = "0.8.1", features = ["tls"]}
|
etcd-client = { version = "0.9.0", features = ["tls"]}
|
||||||
fs_extra = "1.2.0"
|
fs_extra = "1.2.0"
|
||||||
histogram = "0.6.9"
|
histogram = "0.6.9"
|
||||||
itertools = "0.10.1"
|
itertools = "0.10.1"
|
||||||
|
@ -24,7 +24,7 @@ log = { version = "0.4.14" }
|
|||||||
num-derive = "0.3"
|
num-derive = "0.3"
|
||||||
num-traits = "0.2"
|
num-traits = "0.2"
|
||||||
num_cpus = "1.13.0"
|
num_cpus = "1.13.0"
|
||||||
prost = "0.9.0"
|
prost = "0.10.0"
|
||||||
rand = "0.7.0"
|
rand = "0.7.0"
|
||||||
rand_chacha = "0.2.2"
|
rand_chacha = "0.2.2"
|
||||||
rayon = "1.5.1"
|
rayon = "1.5.1"
|
||||||
|
@ -13,15 +13,15 @@ documentation = "https://docs.rs/solana-validator"
|
|||||||
crossbeam-channel = "0.5"
|
crossbeam-channel = "0.5"
|
||||||
futures-util = "0.3"
|
futures-util = "0.3"
|
||||||
log = "0.4.11"
|
log = "0.4.11"
|
||||||
prost = "0.9.0"
|
prost = "0.10.0"
|
||||||
solana-rpc = { path = "../rpc", version = "=1.9.15" }
|
solana-rpc = { path = "../rpc", version = "=1.9.15" }
|
||||||
solana-runtime = { path = "../runtime", version = "=1.9.15" }
|
solana-runtime = { path = "../runtime", version = "=1.9.15" }
|
||||||
solana-sdk = { path = "../sdk", version = "=1.9.15" }
|
solana-sdk = { path = "../sdk", version = "=1.9.15" }
|
||||||
tokio = { version = "1", features = ["full"] }
|
tokio = { version = "1", features = ["full"] }
|
||||||
tonic = { version = "0.6.1", features = ["tls", "transport"] }
|
tonic = { version = "0.7.1", features = ["tls", "transport"] }
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
targets = ["x86_64-unknown-linux-gnu"]
|
targets = ["x86_64-unknown-linux-gnu"]
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
tonic-build = "0.6.0"
|
tonic-build = "0.7.0"
|
||||||
|
@ -41,4 +41,4 @@ tempfile = "3.2.0"
|
|||||||
targets = ["x86_64-unknown-linux-gnu"]
|
targets = ["x86_64-unknown-linux-gnu"]
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
tonic-build = "0.6.0"
|
tonic-build = "0.7.0"
|
||||||
|
@ -17,8 +17,8 @@ enum-iterator = "0.7.0"
|
|||||||
flate2 = "1.0.22"
|
flate2 = "1.0.22"
|
||||||
goauth = "0.10.0"
|
goauth = "0.10.0"
|
||||||
log = "0.4.14"
|
log = "0.4.14"
|
||||||
prost = "0.9.0"
|
prost = "0.10.0"
|
||||||
prost-types = "0.9.0"
|
prost-types = "0.10.0"
|
||||||
serde = "1.0.130"
|
serde = "1.0.130"
|
||||||
serde_derive = "1.0.103"
|
serde_derive = "1.0.103"
|
||||||
smpl_jwt = "0.6.1"
|
smpl_jwt = "0.6.1"
|
||||||
@ -27,7 +27,7 @@ solana-sdk = { path = "../sdk", version = "=1.9.15" }
|
|||||||
solana-storage-proto = { path = "../storage-proto", version = "=1.9.15" }
|
solana-storage-proto = { path = "../storage-proto", version = "=1.9.15" }
|
||||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.15" }
|
solana-transaction-status = { path = "../transaction-status", version = "=1.9.15" }
|
||||||
thiserror = "1.0"
|
thiserror = "1.0"
|
||||||
tonic = { version = "0.6.1", features = ["tls", "transport"] }
|
tonic = { version = "0.7.1", features = ["tls", "transport"] }
|
||||||
zstd = "0.9.0"
|
zstd = "0.9.0"
|
||||||
|
|
||||||
# openssl is a dependency of the goauth and smpl_jwt crates, but explicitly
|
# openssl is a dependency of the goauth and smpl_jwt crates, but explicitly
|
||||||
|
88
storage-bigtable/build-proto/Cargo.lock
generated
88
storage-bigtable/build-proto/Cargo.lock
generated
@ -2,15 +2,6 @@
|
|||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
version = 3
|
version = 3
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "aho-corasick"
|
|
||||||
version = "0.7.18"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
|
|
||||||
dependencies = [
|
|
||||||
"memchr",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "anyhow"
|
name = "anyhow"
|
||||||
version = "1.0.51"
|
version = "1.0.51"
|
||||||
@ -35,6 +26,12 @@ version = "1.0.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
|
checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cc"
|
||||||
|
version = "1.0.73"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cfg-if"
|
name = "cfg-if"
|
||||||
version = "0.1.10"
|
version = "0.1.10"
|
||||||
@ -47,6 +44,15 @@ version = "1.0.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cmake"
|
||||||
|
version = "0.1.48"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "either"
|
name = "either"
|
||||||
version = "1.5.3"
|
version = "1.5.3"
|
||||||
@ -78,12 +84,9 @@ checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "heck"
|
name = "heck"
|
||||||
version = "0.3.1"
|
version = "0.4.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
|
checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
|
||||||
dependencies = [
|
|
||||||
"unicode-segmentation",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "indexmap"
|
name = "indexmap"
|
||||||
@ -125,12 +128,6 @@ dependencies = [
|
|||||||
"cfg-if 0.1.10",
|
"cfg-if 0.1.10",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memchr"
|
|
||||||
version = "2.4.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "multimap"
|
name = "multimap"
|
||||||
version = "0.8.1"
|
version = "0.8.1"
|
||||||
@ -154,19 +151,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
|
checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "prettyplease"
|
||||||
version = "1.0.27"
|
version = "0.1.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
|
checksum = "3b83ec2d0af5c5c556257ff52c9f98934e243b9fd39604bfb2a9b75ec2e97f18"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro2"
|
||||||
|
version = "1.0.36"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-xid",
|
"unicode-xid",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "prost"
|
name = "prost"
|
||||||
version = "0.9.0"
|
version = "0.10.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
|
checksum = "1bd5316aa8f5c82add416dfbc25116b84b748a21153f512917e8143640a71bbd"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"prost-derive",
|
"prost-derive",
|
||||||
@ -174,11 +181,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "prost-build"
|
name = "prost-build"
|
||||||
version = "0.9.0"
|
version = "0.10.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5"
|
checksum = "328f9f29b82409216decb172d81e936415d21245befa79cd34c3f29d87d1c50b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
|
"cfg-if 1.0.0",
|
||||||
|
"cmake",
|
||||||
"heck",
|
"heck",
|
||||||
"itertools",
|
"itertools",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
@ -194,9 +203,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "prost-derive"
|
name = "prost-derive"
|
||||||
version = "0.9.0"
|
version = "0.10.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
|
checksum = "df35198f0777b75e9ff669737c6da5136b59dba33cf5a010a6d1cc4d56defc6f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"itertools",
|
"itertools",
|
||||||
@ -207,9 +216,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "prost-types"
|
name = "prost-types"
|
||||||
version = "0.9.0"
|
version = "0.10.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"
|
checksum = "926681c118ae6e512a3ccefd4abbe5521a14f4cc1e207356d4d00c0b7f2006fd"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"prost",
|
"prost",
|
||||||
@ -286,8 +295,6 @@ version = "1.5.5"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
|
checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aho-corasick",
|
|
||||||
"memchr",
|
|
||||||
"regex-syntax",
|
"regex-syntax",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -308,9 +315,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "1.0.73"
|
version = "1.0.91"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
|
checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@ -353,22 +360,17 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tonic-build"
|
name = "tonic-build"
|
||||||
version = "0.6.0"
|
version = "0.7.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "88358bb1dcfeb62dcce85c63006cafb964b7be481d522b7e09589d4d1e718d2a"
|
checksum = "4d17087af5c80e5d5fc8ba9878e60258065a0a757e35efe7a05b7904bece1943"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"prettyplease",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"prost-build",
|
"prost-build",
|
||||||
"quote",
|
"quote",
|
||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "unicode-segmentation"
|
|
||||||
version = "1.6.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-xid"
|
name = "unicode-xid"
|
||||||
version = "0.2.1"
|
version = "0.2.1"
|
||||||
|
@ -12,4 +12,4 @@ version = "1.9.15"
|
|||||||
[workspace]
|
[workspace]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tonic-build = "0.6.0"
|
tonic-build = "0.7.0"
|
||||||
|
@ -10,7 +10,6 @@ fn main() -> Result<(), std::io::Error> {
|
|||||||
tonic_build::configure()
|
tonic_build::configure()
|
||||||
.build_client(true)
|
.build_client(true)
|
||||||
.build_server(false)
|
.build_server(false)
|
||||||
.format(true)
|
|
||||||
.out_dir(&out_dir)
|
.out_dir(&out_dir)
|
||||||
.compile(
|
.compile(
|
||||||
&[googleapis.join("google/bigtable/v2/bigtable.proto")],
|
&[googleapis.join("google/bigtable/v2/bigtable.proto")],
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/// Defines the HTTP configuration for an API service. It contains a list of
|
/// Defines the HTTP configuration for an API service. It contains a list of
|
||||||
/// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
|
/// \[HttpRule][google.api.HttpRule\], each specifying the mapping of an RPC method
|
||||||
/// to one or more HTTP REST API methods.
|
/// to one or more HTTP REST API methods.
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Http {
|
pub struct Http {
|
||||||
@ -22,10 +22,10 @@ pub struct Http {
|
|||||||
/// gRPC Transcoding is a feature for mapping between a gRPC method and one or
|
/// gRPC Transcoding is a feature for mapping between a gRPC method and one or
|
||||||
/// more HTTP REST endpoints. It allows developers to build a single API service
|
/// more HTTP REST endpoints. It allows developers to build a single API service
|
||||||
/// that supports both gRPC APIs and REST APIs. Many systems, including [Google
|
/// that supports both gRPC APIs and REST APIs. Many systems, including [Google
|
||||||
/// APIs](https://github.com/googleapis/googleapis),
|
/// APIs](<https://github.com/googleapis/googleapis>),
|
||||||
/// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
|
/// [Cloud Endpoints](<https://cloud.google.com/endpoints>), [gRPC
|
||||||
/// Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
|
/// Gateway](<https://github.com/grpc-ecosystem/grpc-gateway>),
|
||||||
/// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
|
/// and \[Envoy\](<https://github.com/envoyproxy/envoy>) proxy support this feature
|
||||||
/// and use it for large scale production services.
|
/// and use it for large scale production services.
|
||||||
///
|
///
|
||||||
/// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
|
/// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
|
||||||
@ -186,15 +186,15 @@ pub struct Http {
|
|||||||
/// 1. Leaf request fields (recursive expansion nested messages in the request
|
/// 1. Leaf request fields (recursive expansion nested messages in the request
|
||||||
/// message) are classified into three categories:
|
/// message) are classified into three categories:
|
||||||
/// - Fields referred by the path template. They are passed via the URL path.
|
/// - Fields referred by the path template. They are passed via the URL path.
|
||||||
/// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP
|
/// - Fields referred by the \[HttpRule.body][google.api.HttpRule.body\]. They are passed via the HTTP
|
||||||
/// request body.
|
/// request body.
|
||||||
/// - All other fields are passed via the URL query parameters, and the
|
/// - All other fields are passed via the URL query parameters, and the
|
||||||
/// parameter name is the field path in the request message. A repeated
|
/// parameter name is the field path in the request message. A repeated
|
||||||
/// field can be represented as multiple query parameters under the same
|
/// field can be represented as multiple query parameters under the same
|
||||||
/// name.
|
/// name.
|
||||||
/// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields
|
/// 2. If \[HttpRule.body][google.api.HttpRule.body\] is "*", there is no URL query parameter, all fields
|
||||||
/// are passed via URL path and HTTP request body.
|
/// are passed via URL path and HTTP request body.
|
||||||
/// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all
|
/// 3. If \[HttpRule.body][google.api.HttpRule.body\] is omitted, there is no HTTP request body, all
|
||||||
/// fields are passed via URL path and URL query parameters.
|
/// fields are passed via URL path and URL query parameters.
|
||||||
///
|
///
|
||||||
/// ### Path template syntax
|
/// ### Path template syntax
|
||||||
@ -221,19 +221,19 @@ pub struct Http {
|
|||||||
///
|
///
|
||||||
/// If a variable contains exactly one path segment, such as `"{var}"` or
|
/// If a variable contains exactly one path segment, such as `"{var}"` or
|
||||||
/// `"{var=*}"`, when such a variable is expanded into a URL path on the client
|
/// `"{var=*}"`, when such a variable is expanded into a URL path on the client
|
||||||
/// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
|
/// side, all characters except `\[-_.~0-9a-zA-Z\]` are percent-encoded. The
|
||||||
/// server side does the reverse decoding. Such variables show up in the
|
/// server side does the reverse decoding. Such variables show up in the
|
||||||
/// [Discovery
|
/// [Discovery
|
||||||
/// Document](https://developers.google.com/discovery/v1/reference/apis) as
|
/// Document](<https://developers.google.com/discovery/v1/reference/apis>) as
|
||||||
/// `{var}`.
|
/// `{var}`.
|
||||||
///
|
///
|
||||||
/// If a variable contains multiple path segments, such as `"{var=foo/*}"`
|
/// If a variable contains multiple path segments, such as `"{var=foo/*}"`
|
||||||
/// or `"{var=**}"`, when such a variable is expanded into a URL path on the
|
/// or `"{var=**}"`, when such a variable is expanded into a URL path on the
|
||||||
/// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
|
/// client side, all characters except `\[-_.~/0-9a-zA-Z\]` are percent-encoded.
|
||||||
/// The server side does the reverse decoding, except "%2F" and "%2f" are left
|
/// The server side does the reverse decoding, except "%2F" and "%2f" are left
|
||||||
/// unchanged. Such variables show up in the
|
/// unchanged. Such variables show up in the
|
||||||
/// [Discovery
|
/// [Discovery
|
||||||
/// Document](https://developers.google.com/discovery/v1/reference/apis) as
|
/// Document](<https://developers.google.com/discovery/v1/reference/apis>) as
|
||||||
/// `{+var}`.
|
/// `{+var}`.
|
||||||
///
|
///
|
||||||
/// ## Using gRPC API Service Configuration
|
/// ## Using gRPC API Service Configuration
|
||||||
@ -263,10 +263,10 @@ pub struct Http {
|
|||||||
///
|
///
|
||||||
/// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
|
/// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
|
||||||
/// proto to JSON conversion must follow the [proto3
|
/// proto to JSON conversion must follow the [proto3
|
||||||
/// specification](https://developers.google.com/protocol-buffers/docs/proto3#json).
|
/// specification](<https://developers.google.com/protocol-buffers/docs/proto3#json>).
|
||||||
///
|
///
|
||||||
/// While the single segment variable follows the semantics of
|
/// While the single segment variable follows the semantics of
|
||||||
/// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
|
/// [RFC 6570](<https://tools.ietf.org/html/rfc6570>) Section 3.2.2 Simple String
|
||||||
/// Expansion, the multi segment variable **does not** follow RFC 6570 Section
|
/// Expansion, the multi segment variable **does not** follow RFC 6570 Section
|
||||||
/// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
|
/// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
|
||||||
/// does not expand special characters like `?` and `#`, which would lead
|
/// does not expand special characters like `?` and `#`, which would lead
|
||||||
@ -290,7 +290,7 @@ pub struct Http {
|
|||||||
pub struct HttpRule {
|
pub struct HttpRule {
|
||||||
/// Selects a method to which this rule applies.
|
/// Selects a method to which this rule applies.
|
||||||
///
|
///
|
||||||
/// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
|
/// Refer to \[selector][google.api.DocumentationRule.selector\] for syntax details.
|
||||||
#[prost(string, tag="1")]
|
#[prost(string, tag="1")]
|
||||||
pub selector: ::prost::alloc::string::String,
|
pub selector: ::prost::alloc::string::String,
|
||||||
/// The name of the request field whose value is mapped to the HTTP request
|
/// The name of the request field whose value is mapped to the HTTP request
|
||||||
@ -393,6 +393,16 @@ pub enum FieldBehavior {
|
|||||||
/// This indicates that the field may be set once in a request to create a
|
/// This indicates that the field may be set once in a request to create a
|
||||||
/// resource, but may not be changed thereafter.
|
/// resource, but may not be changed thereafter.
|
||||||
Immutable = 5,
|
Immutable = 5,
|
||||||
|
/// Denotes that a (repeated) field is an unordered list.
|
||||||
|
/// This indicates that the service may provide the elements of the list
|
||||||
|
/// in any arbitrary order, rather than the order the user originally
|
||||||
|
/// provided. Additionally, the list's order may or may not be stable.
|
||||||
|
UnorderedList = 6,
|
||||||
|
/// Denotes that this field returns a non-empty default value if not set.
|
||||||
|
/// This indicates that if the user provides the empty value in a request,
|
||||||
|
/// a non-empty value will be returned. The user will not be aware of what
|
||||||
|
/// non-empty value to expect.
|
||||||
|
NonEmptyDefault = 7,
|
||||||
}
|
}
|
||||||
/// A simple descriptor of a resource type.
|
/// A simple descriptor of a resource type.
|
||||||
///
|
///
|
||||||
@ -511,7 +521,7 @@ pub struct ResourceDescriptor {
|
|||||||
/// Example: `storage.googleapis.com/Bucket`
|
/// Example: `storage.googleapis.com/Bucket`
|
||||||
///
|
///
|
||||||
/// The value of the resource_type_kind must follow the regular expression
|
/// The value of the resource_type_kind must follow the regular expression
|
||||||
/// /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
|
/// /\[A-Za-z][a-zA-Z0-9\]+/. It should start with an upper case character and
|
||||||
/// should use PascalCase (UpperCamelCase). The maximum number of
|
/// should use PascalCase (UpperCamelCase). The maximum number of
|
||||||
/// characters allowed for the `resource_type_kind` is 100.
|
/// characters allowed for the `resource_type_kind` is 100.
|
||||||
#[prost(string, tag="1")]
|
#[prost(string, tag="1")]
|
||||||
@ -562,14 +572,14 @@ pub struct ResourceDescriptor {
|
|||||||
/// 'projects' for the resource name of 'projects/{project}' and the permission
|
/// 'projects' for the resource name of 'projects/{project}' and the permission
|
||||||
/// name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
|
/// name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
|
||||||
/// concept of the `plural` field in k8s CRD spec
|
/// concept of the `plural` field in k8s CRD spec
|
||||||
/// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
/// <https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/>
|
||||||
///
|
///
|
||||||
/// Note: The plural form is required even for singleton resources. See
|
/// Note: The plural form is required even for singleton resources. See
|
||||||
/// https://aip.dev/156
|
/// <https://aip.dev/156>
|
||||||
#[prost(string, tag="5")]
|
#[prost(string, tag="5")]
|
||||||
pub plural: ::prost::alloc::string::String,
|
pub plural: ::prost::alloc::string::String,
|
||||||
/// The same concept of the `singular` field in k8s CRD spec
|
/// The same concept of the `singular` field in k8s CRD spec
|
||||||
/// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
/// <https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/>
|
||||||
/// Such as "project" for the `resourcemanager.googleapis.com/Project` type.
|
/// Such as "project" for the `resourcemanager.googleapis.com/Project` type.
|
||||||
#[prost(string, tag="6")]
|
#[prost(string, tag="6")]
|
||||||
pub singular: ::prost::alloc::string::String,
|
pub singular: ::prost::alloc::string::String,
|
||||||
|
@ -19,7 +19,7 @@ pub struct Family {
|
|||||||
/// The unique key which identifies this family within its row. This is the
|
/// The unique key which identifies this family within its row. This is the
|
||||||
/// same key that's used to identify the family in, for example, a RowFilter
|
/// same key that's used to identify the family in, for example, a RowFilter
|
||||||
/// which sets its "family_name_regex_filter" field.
|
/// which sets its "family_name_regex_filter" field.
|
||||||
/// Must match `[-_.a-zA-Z0-9]+`, except that AggregatingRowProcessors may
|
/// Must match `\[-_.a-zA-Z0-9\]+`, except that AggregatingRowProcessors may
|
||||||
/// produce cells in a sentinel family with an empty name.
|
/// produce cells in a sentinel family with an empty name.
|
||||||
/// Must be no greater than 64 characters in length.
|
/// Must be no greater than 64 characters in length.
|
||||||
#[prost(string, tag="1")]
|
#[prost(string, tag="1")]
|
||||||
@ -59,7 +59,7 @@ pub struct Cell {
|
|||||||
/// length.
|
/// length.
|
||||||
#[prost(bytes="vec", tag="2")]
|
#[prost(bytes="vec", tag="2")]
|
||||||
pub value: ::prost::alloc::vec::Vec<u8>,
|
pub value: ::prost::alloc::vec::Vec<u8>,
|
||||||
/// Labels applied to the cell by a [RowFilter][google.bigtable.v2.RowFilter].
|
/// Labels applied to the cell by a \[RowFilter][google.bigtable.v2.RowFilter\].
|
||||||
#[prost(string, repeated, tag="3")]
|
#[prost(string, repeated, tag="3")]
|
||||||
pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
|
pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
|
||||||
}
|
}
|
||||||
@ -215,10 +215,10 @@ pub mod value_range {
|
|||||||
/// * True filters alter the input row by excluding some of its cells wholesale
|
/// * True filters alter the input row by excluding some of its cells wholesale
|
||||||
/// from the output row. An example of a true filter is the `value_regex_filter`,
|
/// from the output row. An example of a true filter is the `value_regex_filter`,
|
||||||
/// which excludes cells whose values don't match the specified pattern. All
|
/// which excludes cells whose values don't match the specified pattern. All
|
||||||
/// regex true filters use RE2 syntax (https://github.com/google/re2/wiki/Syntax)
|
/// regex true filters use RE2 syntax (<https://github.com/google/re2/wiki/Syntax>)
|
||||||
/// in raw byte mode (RE2::Latin1), and are evaluated as full matches. An
|
/// in raw byte mode (RE2::Latin1), and are evaluated as full matches. An
|
||||||
/// important point to keep in mind is that `RE2(.)` is equivalent by default to
|
/// important point to keep in mind is that `RE2(.)` is equivalent by default to
|
||||||
/// `RE2([^\n])`, meaning that it does not match newlines. When attempting to
|
/// `RE2(\[^\n\])`, meaning that it does not match newlines. When attempting to
|
||||||
/// match an arbitrary byte, you should therefore use the escape sequence `\C`,
|
/// match an arbitrary byte, you should therefore use the escape sequence `\C`,
|
||||||
/// which may need to be further escaped as `\\C` in your client language.
|
/// which may need to be further escaped as `\\C` in your client language.
|
||||||
///
|
///
|
||||||
@ -237,10 +237,7 @@ pub mod value_range {
|
|||||||
pub struct RowFilter {
|
pub struct RowFilter {
|
||||||
/// Which of the possible RowFilter types to apply. If none are set, this
|
/// Which of the possible RowFilter types to apply. If none are set, this
|
||||||
/// RowFilter returns all cells in the input row.
|
/// RowFilter returns all cells in the input row.
|
||||||
#[prost(
|
#[prost(oneof="row_filter::Filter", tags="1, 2, 3, 16, 17, 18, 4, 14, 5, 6, 7, 8, 9, 15, 10, 11, 12, 13, 19")]
|
||||||
oneof = "row_filter::Filter",
|
|
||||||
tags = "1, 2, 3, 16, 17, 18, 4, 14, 5, 6, 7, 8, 9, 15, 10, 11, 12, 13, 19"
|
|
||||||
)]
|
|
||||||
pub filter: ::core::option::Option<row_filter::Filter>,
|
pub filter: ::core::option::Option<row_filter::Filter>,
|
||||||
}
|
}
|
||||||
/// Nested message and enum types in `RowFilter`.
|
/// Nested message and enum types in `RowFilter`.
|
||||||
@ -353,13 +350,13 @@ pub mod row_filter {
|
|||||||
/// | |
|
/// | |
|
||||||
/// All() Label(foo)
|
/// All() Label(foo)
|
||||||
/// | |
|
/// | |
|
||||||
/// A,A,1,w A,A,1,w,labels:[foo]
|
/// A,A,1,w A,A,1,w,labels:\[foo\]
|
||||||
/// A,B,2,x A,B,2,x,labels:[foo]
|
/// A,B,2,x A,B,2,x,labels:\[foo\]
|
||||||
/// | |
|
/// | |
|
||||||
/// | Sink() --------------+
|
/// | Sink() --------------+
|
||||||
/// | | |
|
/// | | |
|
||||||
/// +------------+ x------+ A,A,1,w,labels:[foo]
|
/// +------------+ x------+ A,A,1,w,labels:\[foo\]
|
||||||
/// | A,B,2,x,labels:[foo]
|
/// | A,B,2,x,labels:\[foo\]
|
||||||
/// A,A,1,w |
|
/// A,A,1,w |
|
||||||
/// A,B,2,x |
|
/// A,B,2,x |
|
||||||
/// | |
|
/// | |
|
||||||
@ -369,14 +366,14 @@ pub mod row_filter {
|
|||||||
/// | |
|
/// | |
|
||||||
/// +--------------------------------+
|
/// +--------------------------------+
|
||||||
/// |
|
/// |
|
||||||
/// A,A,1,w,labels:[foo]
|
/// A,A,1,w,labels:\[foo\]
|
||||||
/// A,B,2,x,labels:[foo] // could be switched
|
/// A,B,2,x,labels:\[foo\] // could be switched
|
||||||
/// A,B,2,x // could be switched
|
/// A,B,2,x // could be switched
|
||||||
///
|
///
|
||||||
/// Despite being excluded by the qualifier filter, a copy of every cell
|
/// Despite being excluded by the qualifier filter, a copy of every cell
|
||||||
/// that reaches the sink is present in the final result.
|
/// that reaches the sink is present in the final result.
|
||||||
///
|
///
|
||||||
/// As with an [Interleave][google.bigtable.v2.RowFilter.Interleave],
|
/// As with an \[Interleave][google.bigtable.v2.RowFilter.Interleave\],
|
||||||
/// duplicate cells are possible, and appear in an unspecified mutual order.
|
/// duplicate cells are possible, and appear in an unspecified mutual order.
|
||||||
/// In this case we have a duplicate with column "A:B" and timestamp 2,
|
/// In this case we have a duplicate with column "A:B" and timestamp 2,
|
||||||
/// because one copy passed through the all filter while the other was
|
/// because one copy passed through the all filter while the other was
|
||||||
@ -384,7 +381,7 @@ pub mod row_filter {
|
|||||||
/// while the other does not.
|
/// while the other does not.
|
||||||
///
|
///
|
||||||
/// Cannot be used within the `predicate_filter`, `true_filter`, or
|
/// Cannot be used within the `predicate_filter`, `true_filter`, or
|
||||||
/// `false_filter` of a [Condition][google.bigtable.v2.RowFilter.Condition].
|
/// `false_filter` of a \[Condition][google.bigtable.v2.RowFilter.Condition\].
|
||||||
#[prost(bool, tag="16")]
|
#[prost(bool, tag="16")]
|
||||||
Sink(bool),
|
Sink(bool),
|
||||||
/// Matches all cells, regardless of input. Functionally equivalent to
|
/// Matches all cells, regardless of input. Functionally equivalent to
|
||||||
@ -466,7 +463,7 @@ pub mod row_filter {
|
|||||||
/// the filter.
|
/// the filter.
|
||||||
///
|
///
|
||||||
/// Values must be at most 15 characters in length, and match the RE2
|
/// Values must be at most 15 characters in length, and match the RE2
|
||||||
/// pattern `[a-z0-9\\-]+`
|
/// pattern `\[a-z0-9\\-\]+`
|
||||||
///
|
///
|
||||||
/// Due to a technical limitation, it is not currently possible to apply
|
/// Due to a technical limitation, it is not currently possible to apply
|
||||||
/// multiple labels to a cell. As a result, a Chain may have no more than
|
/// multiple labels to a cell. As a result, a Chain may have no more than
|
||||||
@ -491,7 +488,7 @@ pub mod mutation {
|
|||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct SetCell {
|
pub struct SetCell {
|
||||||
/// The name of the family into which new data should be written.
|
/// The name of the family into which new data should be written.
|
||||||
/// Must match `[-_.a-zA-Z0-9]+`
|
/// Must match `\[-_.a-zA-Z0-9\]+`
|
||||||
#[prost(string, tag="1")]
|
#[prost(string, tag="1")]
|
||||||
pub family_name: ::prost::alloc::string::String,
|
pub family_name: ::prost::alloc::string::String,
|
||||||
/// The qualifier of the column into which new data should be written.
|
/// The qualifier of the column into which new data should be written.
|
||||||
@ -514,7 +511,7 @@ pub mod mutation {
|
|||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct DeleteFromColumn {
|
pub struct DeleteFromColumn {
|
||||||
/// The name of the family from which cells should be deleted.
|
/// The name of the family from which cells should be deleted.
|
||||||
/// Must match `[-_.a-zA-Z0-9]+`
|
/// Must match `\[-_.a-zA-Z0-9\]+`
|
||||||
#[prost(string, tag="1")]
|
#[prost(string, tag="1")]
|
||||||
pub family_name: ::prost::alloc::string::String,
|
pub family_name: ::prost::alloc::string::String,
|
||||||
/// The qualifier of the column from which cells should be deleted.
|
/// The qualifier of the column from which cells should be deleted.
|
||||||
@ -529,13 +526,14 @@ pub mod mutation {
|
|||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct DeleteFromFamily {
|
pub struct DeleteFromFamily {
|
||||||
/// The name of the family from which cells should be deleted.
|
/// The name of the family from which cells should be deleted.
|
||||||
/// Must match `[-_.a-zA-Z0-9]+`
|
/// Must match `\[-_.a-zA-Z0-9\]+`
|
||||||
#[prost(string, tag="1")]
|
#[prost(string, tag="1")]
|
||||||
pub family_name: ::prost::alloc::string::String,
|
pub family_name: ::prost::alloc::string::String,
|
||||||
}
|
}
|
||||||
/// A Mutation which deletes all cells from the containing row.
|
/// A Mutation which deletes all cells from the containing row.
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct DeleteFromRow {}
|
pub struct DeleteFromRow {
|
||||||
|
}
|
||||||
/// Which of the possible Mutation types to apply.
|
/// Which of the possible Mutation types to apply.
|
||||||
#[derive(Clone, PartialEq, ::prost::Oneof)]
|
#[derive(Clone, PartialEq, ::prost::Oneof)]
|
||||||
pub enum Mutation {
|
pub enum Mutation {
|
||||||
@ -558,7 +556,7 @@ pub mod mutation {
|
|||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct ReadModifyWriteRule {
|
pub struct ReadModifyWriteRule {
|
||||||
/// The name of the family to which the read/modify/write should be applied.
|
/// The name of the family to which the read/modify/write should be applied.
|
||||||
/// Must match `[-_.a-zA-Z0-9]+`
|
/// Must match `\[-_.a-zA-Z0-9\]+`
|
||||||
#[prost(string, tag="1")]
|
#[prost(string, tag="1")]
|
||||||
pub family_name: ::prost::alloc::string::String,
|
pub family_name: ::prost::alloc::string::String,
|
||||||
/// The qualifier of the column to which the read/modify/write should be
|
/// The qualifier of the column to which the read/modify/write should be
|
||||||
@ -668,7 +666,7 @@ pub mod read_rows_response {
|
|||||||
#[prost(int64, tag="4")]
|
#[prost(int64, tag="4")]
|
||||||
pub timestamp_micros: i64,
|
pub timestamp_micros: i64,
|
||||||
/// Labels applied to the cell by a
|
/// Labels applied to the cell by a
|
||||||
/// [RowFilter][google.bigtable.v2.RowFilter]. Labels are only set
|
/// \[RowFilter][google.bigtable.v2.RowFilter\]. Labels are only set
|
||||||
/// on the first CellChunk per cell.
|
/// on the first CellChunk per cell.
|
||||||
#[prost(string, repeated, tag="5")]
|
#[prost(string, repeated, tag="5")]
|
||||||
pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
|
pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
|
||||||
@ -760,7 +758,8 @@ pub struct MutateRowRequest {
|
|||||||
}
|
}
|
||||||
/// Response message for Bigtable.MutateRow.
|
/// Response message for Bigtable.MutateRow.
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct MutateRowResponse {}
|
pub struct MutateRowResponse {
|
||||||
|
}
|
||||||
/// Request message for BigtableService.MutateRows.
|
/// Request message for BigtableService.MutateRows.
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct MutateRowsRequest {
|
pub struct MutateRowsRequest {
|
||||||
@ -893,17 +892,17 @@ pub struct ReadModifyWriteRowResponse {
|
|||||||
#[prost(message, optional, tag="1")]
|
#[prost(message, optional, tag="1")]
|
||||||
pub row: ::core::option::Option<Row>,
|
pub row: ::core::option::Option<Row>,
|
||||||
}
|
}
|
||||||
#[doc = r" Generated client implementations."]
|
/// Generated client implementations.
|
||||||
pub mod bigtable_client {
|
pub mod bigtable_client {
|
||||||
#![allow(unused_variables, dead_code, missing_docs)]
|
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
|
||||||
use tonic::codegen::*;
|
use tonic::codegen::*;
|
||||||
#[doc = " Service for reading from and writing to existing Bigtable tables."]
|
/// Service for reading from and writing to existing Bigtable tables.
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct BigtableClient<T> {
|
pub struct BigtableClient<T> {
|
||||||
inner: tonic::client::Grpc<T>,
|
inner: tonic::client::Grpc<T>,
|
||||||
}
|
}
|
||||||
impl BigtableClient<tonic::transport::Channel> {
|
impl BigtableClient<tonic::transport::Channel> {
|
||||||
#[doc = r" Attempt to create a new client by connecting to a given endpoint."]
|
/// Attempt to create a new client by connecting to a given endpoint.
|
||||||
pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
|
pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
|
||||||
where
|
where
|
||||||
D: std::convert::TryInto<tonic::transport::Endpoint>,
|
D: std::convert::TryInto<tonic::transport::Endpoint>,
|
||||||
@ -916,8 +915,8 @@ pub mod bigtable_client {
|
|||||||
impl<T> BigtableClient<T>
|
impl<T> BigtableClient<T>
|
||||||
where
|
where
|
||||||
T: tonic::client::GrpcService<tonic::body::BoxBody>,
|
T: tonic::client::GrpcService<tonic::body::BoxBody>,
|
||||||
T::ResponseBody: Body + Send + Sync + 'static,
|
|
||||||
T::Error: Into<StdError>,
|
T::Error: Into<StdError>,
|
||||||
|
T::ResponseBody: Default + Body<Data = Bytes> + Send + 'static,
|
||||||
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
|
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
|
||||||
{
|
{
|
||||||
pub fn new(inner: T) -> Self {
|
pub fn new(inner: T) -> Self {
|
||||||
@ -929,58 +928,65 @@ pub mod bigtable_client {
|
|||||||
interceptor: F,
|
interceptor: F,
|
||||||
) -> BigtableClient<InterceptedService<T, F>>
|
) -> BigtableClient<InterceptedService<T, F>>
|
||||||
where
|
where
|
||||||
F: FnMut(tonic::Request<()>) -> Result<tonic::Request<()>, tonic::Status>,
|
F: tonic::service::Interceptor,
|
||||||
T: Service<
|
T: tonic::codegen::Service<
|
||||||
http::Request<tonic::body::BoxBody>,
|
http::Request<tonic::body::BoxBody>,
|
||||||
Response = http::Response<
|
Response = http::Response<
|
||||||
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
|
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
|
||||||
>,
|
>,
|
||||||
>,
|
>,
|
||||||
<T as Service<http::Request<tonic::body::BoxBody>>>::Error:
|
<T as tonic::codegen::Service<
|
||||||
Into<StdError> + Send + Sync,
|
http::Request<tonic::body::BoxBody>,
|
||||||
|
>>::Error: Into<StdError> + Send + Sync,
|
||||||
{
|
{
|
||||||
BigtableClient::new(InterceptedService::new(inner, interceptor))
|
BigtableClient::new(InterceptedService::new(inner, interceptor))
|
||||||
}
|
}
|
||||||
#[doc = r" Compress requests with `gzip`."]
|
/// Compress requests with `gzip`.
|
||||||
#[doc = r""]
|
///
|
||||||
#[doc = r" This requires the server to support it otherwise it might respond with an"]
|
/// This requires the server to support it otherwise it might respond with an
|
||||||
#[doc = r" error."]
|
/// error.
|
||||||
|
#[must_use]
|
||||||
pub fn send_gzip(mut self) -> Self {
|
pub fn send_gzip(mut self) -> Self {
|
||||||
self.inner = self.inner.send_gzip();
|
self.inner = self.inner.send_gzip();
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
#[doc = r" Enable decompressing responses with `gzip`."]
|
/// Enable decompressing responses with `gzip`.
|
||||||
|
#[must_use]
|
||||||
pub fn accept_gzip(mut self) -> Self {
|
pub fn accept_gzip(mut self) -> Self {
|
||||||
self.inner = self.inner.accept_gzip();
|
self.inner = self.inner.accept_gzip();
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
#[doc = " Streams back the contents of all requested rows in key order, optionally"]
|
/// Streams back the contents of all requested rows in key order, optionally
|
||||||
#[doc = " applying the same Reader filter to each. Depending on their size,"]
|
/// applying the same Reader filter to each. Depending on their size,
|
||||||
#[doc = " rows and cells may be broken up across multiple responses, but"]
|
/// rows and cells may be broken up across multiple responses, but
|
||||||
#[doc = " atomicity of each row will still be preserved. See the"]
|
/// atomicity of each row will still be preserved. See the
|
||||||
#[doc = " ReadRowsResponse documentation for details."]
|
/// ReadRowsResponse documentation for details.
|
||||||
pub async fn read_rows(
|
pub async fn read_rows(
|
||||||
&mut self,
|
&mut self,
|
||||||
request: impl tonic::IntoRequest<super::ReadRowsRequest>,
|
request: impl tonic::IntoRequest<super::ReadRowsRequest>,
|
||||||
) -> Result<tonic::Response<tonic::codec::Streaming<super::ReadRowsResponse>>, tonic::Status>
|
) -> Result<
|
||||||
{
|
tonic::Response<tonic::codec::Streaming<super::ReadRowsResponse>>,
|
||||||
self.inner.ready().await.map_err(|e| {
|
tonic::Status,
|
||||||
|
> {
|
||||||
|
self.inner
|
||||||
|
.ready()
|
||||||
|
.await
|
||||||
|
.map_err(|e| {
|
||||||
tonic::Status::new(
|
tonic::Status::new(
|
||||||
tonic::Code::Unknown,
|
tonic::Code::Unknown,
|
||||||
format!("Service was not ready: {}", e.into()),
|
format!("Service was not ready: {}", e.into()),
|
||||||
)
|
)
|
||||||
})?;
|
})?;
|
||||||
let codec = tonic::codec::ProstCodec::default();
|
let codec = tonic::codec::ProstCodec::default();
|
||||||
let path =
|
let path = http::uri::PathAndQuery::from_static(
|
||||||
http::uri::PathAndQuery::from_static("/google.bigtable.v2.Bigtable/ReadRows");
|
"/google.bigtable.v2.Bigtable/ReadRows",
|
||||||
self.inner
|
);
|
||||||
.server_streaming(request.into_request(), path, codec)
|
self.inner.server_streaming(request.into_request(), path, codec).await
|
||||||
.await
|
|
||||||
}
|
}
|
||||||
#[doc = " Returns a sample of row keys in the table. The returned row keys will"]
|
/// Returns a sample of row keys in the table. The returned row keys will
|
||||||
#[doc = " delimit contiguous sections of the table of approximately equal size,"]
|
/// delimit contiguous sections of the table of approximately equal size,
|
||||||
#[doc = " which can be used to break up the data for distributed tasks like"]
|
/// which can be used to break up the data for distributed tasks like
|
||||||
#[doc = " mapreduces."]
|
/// mapreduces.
|
||||||
pub async fn sample_row_keys(
|
pub async fn sample_row_keys(
|
||||||
&mut self,
|
&mut self,
|
||||||
request: impl tonic::IntoRequest<super::SampleRowKeysRequest>,
|
request: impl tonic::IntoRequest<super::SampleRowKeysRequest>,
|
||||||
@ -988,39 +994,45 @@ pub mod bigtable_client {
|
|||||||
tonic::Response<tonic::codec::Streaming<super::SampleRowKeysResponse>>,
|
tonic::Response<tonic::codec::Streaming<super::SampleRowKeysResponse>>,
|
||||||
tonic::Status,
|
tonic::Status,
|
||||||
> {
|
> {
|
||||||
self.inner.ready().await.map_err(|e| {
|
self.inner
|
||||||
|
.ready()
|
||||||
|
.await
|
||||||
|
.map_err(|e| {
|
||||||
tonic::Status::new(
|
tonic::Status::new(
|
||||||
tonic::Code::Unknown,
|
tonic::Code::Unknown,
|
||||||
format!("Service was not ready: {}", e.into()),
|
format!("Service was not ready: {}", e.into()),
|
||||||
)
|
)
|
||||||
})?;
|
})?;
|
||||||
let codec = tonic::codec::ProstCodec::default();
|
let codec = tonic::codec::ProstCodec::default();
|
||||||
let path =
|
let path = http::uri::PathAndQuery::from_static(
|
||||||
http::uri::PathAndQuery::from_static("/google.bigtable.v2.Bigtable/SampleRowKeys");
|
"/google.bigtable.v2.Bigtable/SampleRowKeys",
|
||||||
self.inner
|
);
|
||||||
.server_streaming(request.into_request(), path, codec)
|
self.inner.server_streaming(request.into_request(), path, codec).await
|
||||||
.await
|
|
||||||
}
|
}
|
||||||
#[doc = " Mutates a row atomically. Cells already present in the row are left"]
|
/// Mutates a row atomically. Cells already present in the row are left
|
||||||
#[doc = " unchanged unless explicitly changed by `mutation`."]
|
/// unchanged unless explicitly changed by `mutation`.
|
||||||
pub async fn mutate_row(
|
pub async fn mutate_row(
|
||||||
&mut self,
|
&mut self,
|
||||||
request: impl tonic::IntoRequest<super::MutateRowRequest>,
|
request: impl tonic::IntoRequest<super::MutateRowRequest>,
|
||||||
) -> Result<tonic::Response<super::MutateRowResponse>, tonic::Status> {
|
) -> Result<tonic::Response<super::MutateRowResponse>, tonic::Status> {
|
||||||
self.inner.ready().await.map_err(|e| {
|
self.inner
|
||||||
|
.ready()
|
||||||
|
.await
|
||||||
|
.map_err(|e| {
|
||||||
tonic::Status::new(
|
tonic::Status::new(
|
||||||
tonic::Code::Unknown,
|
tonic::Code::Unknown,
|
||||||
format!("Service was not ready: {}", e.into()),
|
format!("Service was not ready: {}", e.into()),
|
||||||
)
|
)
|
||||||
})?;
|
})?;
|
||||||
let codec = tonic::codec::ProstCodec::default();
|
let codec = tonic::codec::ProstCodec::default();
|
||||||
let path =
|
let path = http::uri::PathAndQuery::from_static(
|
||||||
http::uri::PathAndQuery::from_static("/google.bigtable.v2.Bigtable/MutateRow");
|
"/google.bigtable.v2.Bigtable/MutateRow",
|
||||||
|
);
|
||||||
self.inner.unary(request.into_request(), path, codec).await
|
self.inner.unary(request.into_request(), path, codec).await
|
||||||
}
|
}
|
||||||
#[doc = " Mutates multiple rows in a batch. Each individual row is mutated"]
|
/// Mutates multiple rows in a batch. Each individual row is mutated
|
||||||
#[doc = " atomically as in MutateRow, but the entire batch is not executed"]
|
/// atomically as in MutateRow, but the entire batch is not executed
|
||||||
#[doc = " atomically."]
|
/// atomically.
|
||||||
pub async fn mutate_rows(
|
pub async fn mutate_rows(
|
||||||
&mut self,
|
&mut self,
|
||||||
request: impl tonic::IntoRequest<super::MutateRowsRequest>,
|
request: impl tonic::IntoRequest<super::MutateRowsRequest>,
|
||||||
@ -1028,25 +1040,30 @@ pub mod bigtable_client {
|
|||||||
tonic::Response<tonic::codec::Streaming<super::MutateRowsResponse>>,
|
tonic::Response<tonic::codec::Streaming<super::MutateRowsResponse>>,
|
||||||
tonic::Status,
|
tonic::Status,
|
||||||
> {
|
> {
|
||||||
self.inner.ready().await.map_err(|e| {
|
self.inner
|
||||||
|
.ready()
|
||||||
|
.await
|
||||||
|
.map_err(|e| {
|
||||||
tonic::Status::new(
|
tonic::Status::new(
|
||||||
tonic::Code::Unknown,
|
tonic::Code::Unknown,
|
||||||
format!("Service was not ready: {}", e.into()),
|
format!("Service was not ready: {}", e.into()),
|
||||||
)
|
)
|
||||||
})?;
|
})?;
|
||||||
let codec = tonic::codec::ProstCodec::default();
|
let codec = tonic::codec::ProstCodec::default();
|
||||||
let path =
|
let path = http::uri::PathAndQuery::from_static(
|
||||||
http::uri::PathAndQuery::from_static("/google.bigtable.v2.Bigtable/MutateRows");
|
"/google.bigtable.v2.Bigtable/MutateRows",
|
||||||
self.inner
|
);
|
||||||
.server_streaming(request.into_request(), path, codec)
|
self.inner.server_streaming(request.into_request(), path, codec).await
|
||||||
.await
|
|
||||||
}
|
}
|
||||||
#[doc = " Mutates a row atomically based on the output of a predicate Reader filter."]
|
/// Mutates a row atomically based on the output of a predicate Reader filter.
|
||||||
pub async fn check_and_mutate_row(
|
pub async fn check_and_mutate_row(
|
||||||
&mut self,
|
&mut self,
|
||||||
request: impl tonic::IntoRequest<super::CheckAndMutateRowRequest>,
|
request: impl tonic::IntoRequest<super::CheckAndMutateRowRequest>,
|
||||||
) -> Result<tonic::Response<super::CheckAndMutateRowResponse>, tonic::Status> {
|
) -> Result<tonic::Response<super::CheckAndMutateRowResponse>, tonic::Status> {
|
||||||
self.inner.ready().await.map_err(|e| {
|
self.inner
|
||||||
|
.ready()
|
||||||
|
.await
|
||||||
|
.map_err(|e| {
|
||||||
tonic::Status::new(
|
tonic::Status::new(
|
||||||
tonic::Code::Unknown,
|
tonic::Code::Unknown,
|
||||||
format!("Service was not ready: {}", e.into()),
|
format!("Service was not ready: {}", e.into()),
|
||||||
@ -1058,16 +1075,19 @@ pub mod bigtable_client {
|
|||||||
);
|
);
|
||||||
self.inner.unary(request.into_request(), path, codec).await
|
self.inner.unary(request.into_request(), path, codec).await
|
||||||
}
|
}
|
||||||
#[doc = " Modifies a row atomically on the server. The method reads the latest"]
|
/// Modifies a row atomically on the server. The method reads the latest
|
||||||
#[doc = " existing timestamp and value from the specified columns and writes a new"]
|
/// existing timestamp and value from the specified columns and writes a new
|
||||||
#[doc = " entry based on pre-defined read/modify/write rules. The new value for the"]
|
/// entry based on pre-defined read/modify/write rules. The new value for the
|
||||||
#[doc = " timestamp is the greater of the existing timestamp or the current server"]
|
/// timestamp is the greater of the existing timestamp or the current server
|
||||||
#[doc = " time. The method returns the new contents of all modified cells."]
|
/// time. The method returns the new contents of all modified cells.
|
||||||
pub async fn read_modify_write_row(
|
pub async fn read_modify_write_row(
|
||||||
&mut self,
|
&mut self,
|
||||||
request: impl tonic::IntoRequest<super::ReadModifyWriteRowRequest>,
|
request: impl tonic::IntoRequest<super::ReadModifyWriteRowRequest>,
|
||||||
) -> Result<tonic::Response<super::ReadModifyWriteRowResponse>, tonic::Status> {
|
) -> Result<tonic::Response<super::ReadModifyWriteRowResponse>, tonic::Status> {
|
||||||
self.inner.ready().await.map_err(|e| {
|
self.inner
|
||||||
|
.ready()
|
||||||
|
.await
|
||||||
|
.map_err(|e| {
|
||||||
tonic::Status::new(
|
tonic::Status::new(
|
||||||
tonic::Code::Unknown,
|
tonic::Code::Unknown,
|
||||||
format!("Service was not ready: {}", e.into()),
|
format!("Service was not ready: {}", e.into()),
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
/// The `Status` type defines a logical error model that is suitable for
|
/// The `Status` type defines a logical error model that is suitable for
|
||||||
/// different programming environments, including REST APIs and RPC APIs. It is
|
/// different programming environments, including REST APIs and RPC APIs. It is
|
||||||
/// used by [gRPC](https://github.com/grpc). Each `Status` message contains
|
/// used by \[gRPC\](<https://github.com/grpc>). Each `Status` message contains
|
||||||
/// three pieces of data: error code, error message, and error details.
|
/// three pieces of data: error code, error message, and error details.
|
||||||
///
|
///
|
||||||
/// You can find out more about this error model and how to work with it in the
|
/// You can find out more about this error model and how to work with it in the
|
||||||
/// [API Design Guide](https://cloud.google.com/apis/design/errors).
|
/// [API Design Guide](<https://cloud.google.com/apis/design/errors>).
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Status {
|
pub struct Status {
|
||||||
/// The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
|
/// The status code, which should be an enum value of \[google.rpc.Code][google.rpc.Code\].
|
||||||
#[prost(int32, tag="1")]
|
#[prost(int32, tag="1")]
|
||||||
pub code: i32,
|
pub code: i32,
|
||||||
/// A developer-facing error message, which should be in English. Any
|
/// A developer-facing error message, which should be in English. Any
|
||||||
/// user-facing error message should be localized and sent in the
|
/// user-facing error message should be localized and sent in the
|
||||||
/// [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
|
/// \[google.rpc.Status.details][google.rpc.Status.details\] field, or localized by the client.
|
||||||
#[prost(string, tag="2")]
|
#[prost(string, tag="2")]
|
||||||
pub message: ::prost::alloc::string::String,
|
pub message: ::prost::alloc::string::String,
|
||||||
/// A list of messages that carry the error details. There is a common set of
|
/// A list of messages that carry the error details. There is a common set of
|
||||||
|
@ -12,7 +12,7 @@ edition = "2021"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
bincode = "1.3.3"
|
bincode = "1.3.3"
|
||||||
bs58 = "0.4.0"
|
bs58 = "0.4.0"
|
||||||
prost = "0.9.0"
|
prost = "0.10.0"
|
||||||
serde = "1.0.130"
|
serde = "1.0.130"
|
||||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.15" }
|
solana-account-decoder = { path = "../account-decoder", version = "=1.9.15" }
|
||||||
solana-sdk = { path = "../sdk", version = "=1.9.15" }
|
solana-sdk = { path = "../sdk", version = "=1.9.15" }
|
||||||
@ -29,4 +29,4 @@ name = "solana_storage_proto"
|
|||||||
targets = ["x86_64-unknown-linux-gnu"]
|
targets = ["x86_64-unknown-linux-gnu"]
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
tonic-build = "0.6.0"
|
tonic-build = "0.7.0"
|
||||||
|
@ -11,7 +11,6 @@ fn main() -> Result<(), std::io::Error> {
|
|||||||
tonic_build::configure()
|
tonic_build::configure()
|
||||||
.build_client(true)
|
.build_client(true)
|
||||||
.build_server(false)
|
.build_server(false)
|
||||||
.format(true)
|
|
||||||
.type_attribute(
|
.type_attribute(
|
||||||
"TransactionErrorType",
|
"TransactionErrorType",
|
||||||
"#[cfg_attr(test, derive(enum_iterator::IntoEnumIterator))]",
|
"#[cfg_attr(test, derive(enum_iterator::IntoEnumIterator))]",
|
||||||
|
Reference in New Issue
Block a user