diff --git a/Cargo.lock b/Cargo.lock index 7c5989abb8..0d5e752a80 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -172,7 +172,7 @@ checksum = "648ed8c8d2ce5409ccd57453d9d1b214b342a0d69376a6feda1fd6cae3299308" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -183,7 +183,7 @@ checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -203,6 +203,49 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +[[package]] +name = "axum" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47594e438a243791dba58124b6669561f5baa14cb12046641d8008bf035e5a25" +dependencies = [ + "async-trait", + "axum-core", + "bitflags", + "bytes", + "futures-util", + "http", + "http-body", + "hyper", + "itoa 1.0.1", + "matchit", + "memchr", + "mime", + "percent-encoding 2.1.0", + "pin-project-lite", + "serde", + "sync_wrapper", + "tokio", + "tower", + "tower-http", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a671c9ae99531afdd5d3ee8340b8da547779430689947144c140fc74a740244" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", +] + [[package]] name = "backoff" version = "0.4.0" @@ -406,7 +449,7 @@ dependencies = [ "borsh-schema-derive-internal", "proc-macro-crate 0.1.5", "proc-macro2 1.0.32", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -417,7 +460,7 @@ checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -428,7 +471,7 @@ checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -509,7 +552,7 @@ checksum = "8e215f8c2f9f79cb53c8335e687ffd07d5bfcb6fe5fc80723762d0be46e7cc54" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -723,11 +766,20 @@ version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16" dependencies = [ - "heck 0.4.0", + "heck", "proc-macro-error", "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", +] + +[[package]] +name = "cmake" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7b858541263efe664aead4a5209a4ae5c5d2811167d4ed4ee0944503f8d2089" +dependencies = [ + "cc", ] [[package]] @@ -1053,7 +1105,7 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -1066,7 +1118,7 @@ dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", "rustc_version 0.3.3", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -1224,7 +1276,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -1265,7 +1317,7 @@ checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -1278,7 +1330,7 @@ dependencies = [ "num-traits", "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -1330,9 +1382,9 @@ dependencies = [ [[package]] name = "etcd-client" -version = "0.8.4" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585de5039d1ecce74773db49ba4e8107e42be7c2cd0b1a9e7fce27181db7b118" +checksum = "4504e955d596cc27543aa77ecb075dec41c7b0c7749fe6b5536a82548f5073b1" dependencies = [ "http", "prost", @@ -1340,6 +1392,7 @@ dependencies = [ "tokio-stream", "tonic", "tonic-build", + "tower", "tower-service", ] @@ -1543,7 +1596,7 @@ checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -1721,7 +1774,7 @@ dependencies = [ "indexmap", "slab", "tokio", - "tokio-util", + "tokio-util 0.6.9", "tracing", ] @@ -1749,15 +1802,6 @@ dependencies = [ "ahash", ] -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "heck" version = "0.4.0" @@ -1848,6 +1892,12 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "http-range-header" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" + [[package]] name = "httparse" version = "1.5.1" @@ -1898,9 +1948,9 @@ checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" dependencies = [ "http", "hyper", - "rustls 0.20.4", + "rustls", "tokio", - "tokio-rustls 0.23.2", + "tokio-rustls", ] [[package]] @@ -2143,7 +2193,7 @@ dependencies = [ "proc-macro-crate 0.1.5", "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -2206,7 +2256,7 @@ dependencies = [ "log", "tokio", "tokio-stream", - "tokio-util", + "tokio-util 0.6.9", "unicase", ] @@ -2403,6 +2453,12 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" +[[package]] +name = "matchit" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb" + [[package]] name = "memchr" version = "2.4.1" @@ -2523,7 +2579,7 @@ checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -2625,7 +2681,7 @@ checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -2676,7 +2732,7 @@ dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -2802,7 +2858,7 @@ dependencies = [ "proc-macro-error", "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -2941,7 +2997,7 @@ dependencies = [ "pest_meta", "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -2995,7 +3051,7 @@ checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -3084,6 +3140,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5c99d529f0d30937f6f4b8a86d988047327bb88d04d2c4afc356de74722131" +[[package]] +name = "prettyplease" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b83ec2d0af5c5c556257ff52c9f98934e243b9fd39604bfb2a9b75ec2e97f18" +dependencies = [ + "proc-macro2 1.0.32", + "syn 1.0.91", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -3112,7 +3178,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", "version_check", ] @@ -3173,9 +3239,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" +checksum = "1bd5316aa8f5c82add416dfbc25116b84b748a21153f512917e8143640a71bbd" dependencies = [ "bytes", "prost-derive", @@ -3183,12 +3249,14 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" +checksum = "328f9f29b82409216decb172d81e936415d21245befa79cd34c3f29d87d1c50b" dependencies = [ "bytes", - "heck 0.3.3", + "cfg-if 1.0.0", + "cmake", + "heck", "itertools 0.10.3", "lazy_static", "log", @@ -3203,22 +3271,22 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" +checksum = "df35198f0777b75e9ff669737c6da5136b59dba33cf5a010a6d1cc4d56defc6f" dependencies = [ "anyhow", "itertools 0.10.3", "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] name = "prost-types" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" +checksum = "926681c118ae6e512a3ccefd4abbe5521a14f4cc1e207356d4d00c0b7f2006fd" dependencies = [ "bytes", "prost", @@ -3257,11 +3325,11 @@ dependencies = [ "fxhash", "quinn-proto", "quinn-udp", - "rustls 0.20.4", + "rustls", "thiserror", "tokio", "tracing", - "webpki 0.22.0", + "webpki", ] [[package]] @@ -3274,14 +3342,14 @@ dependencies = [ "fxhash", "rand 0.8.4", "ring", - "rustls 0.20.4", + "rustls", "rustls-native-certs", "rustls-pemfile 0.2.1", "slab", "thiserror", "tinyvec", "tracing", - "webpki 0.22.0", + "webpki", ] [[package]] @@ -3616,14 +3684,14 @@ dependencies = [ "native-tls", "percent-encoding 2.1.0", "pin-project-lite", - "rustls 0.20.4", + "rustls", "rustls-pemfile 0.3.0", "serde", "serde_json", "serde_urlencoded", "tokio", "tokio-native-tls", - "tokio-rustls 0.23.2", + "tokio-rustls", "url 2.2.2", "wasm-bindgen", "wasm-bindgen-futures", @@ -3728,19 +3796,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" -dependencies = [ - "base64 0.13.0", - "log", - "ring", - "sct 0.6.1", - "webpki 0.21.4", -] - [[package]] name = "rustls" version = "0.20.4" @@ -3749,8 +3804,8 @@ checksum = "4fbfeb8d0ddb84706bc597a5574ab8912817c52a397f819e5b614e2265206921" dependencies = [ "log", "ring", - "sct 0.7.0", - "webpki 0.22.0", + "sct", + "webpki", ] [[package]] @@ -3849,17 +3904,7 @@ checksum = "aaaae8f38bb311444cfb7f1979af0bc9240d95795f75f9ceddf6a59b79ceffa0" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", -] - -[[package]] -name = "sct" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring", - "untrusted", + "syn 1.0.91", ] [[package]] @@ -3973,7 +4018,7 @@ checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -4032,7 +4077,7 @@ dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", "rustversion", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -4628,7 +4673,7 @@ dependencies = [ "rand_chacha 0.2.2", "rayon", "reqwest", - "rustls 0.20.4", + "rustls", "semver 1.0.6", "serde", "serde_derive", @@ -4902,7 +4947,7 @@ dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", "rustc_version 0.2.3", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -4912,7 +4957,7 @@ dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", "rustc_version 0.4.0", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -5580,7 +5625,7 @@ dependencies = [ "symlink", "thiserror", "tokio", - "tokio-util", + "tokio-util 0.6.9", ] [[package]] @@ -5727,7 +5772,7 @@ dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", "rustversion", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -5738,7 +5783,7 @@ dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", "rustversion", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -5860,7 +5905,7 @@ dependencies = [ "quinn", "rand 0.7.3", "rcgen", - "rustls 0.20.4", + "rustls", "solana-logger 1.11.0", "solana-metrics", "solana-perf", @@ -6259,7 +6304,7 @@ dependencies = [ "quote 1.0.10", "serde", "serde_derive", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -6275,7 +6320,7 @@ dependencies = [ "serde_derive", "serde_json", "sha1", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -6332,15 +6377,21 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.81" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966" +checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", "unicode-xid 0.2.2", ] +[[package]] +name = "sync_wrapper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8" + [[package]] name = "synstructure" version = "0.12.6" @@ -6349,7 +6400,7 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", "unicode-xid 0.2.2", ] @@ -6426,7 +6477,7 @@ dependencies = [ "thiserror", "tokio", "tokio-serde", - "tokio-util", + "tokio-util 0.6.9", "tracing", "tracing-opentelemetry", ] @@ -6439,7 +6490,7 @@ checksum = "0ee42b4e559f17bce0385ebf511a7beb67d5cc33c12c96b7f4e9789919d9c10f" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -6513,7 +6564,7 @@ checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -6607,7 +6658,7 @@ dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", "standback", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -6682,7 +6733,7 @@ checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -6695,26 +6746,15 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-rustls" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" -dependencies = [ - "rustls 0.19.1", - "tokio", - "webpki 0.21.4", -] - [[package]] name = "tokio-rustls" version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b" dependencies = [ - "rustls 0.20.4", + "rustls", "tokio", - "webpki 0.22.0", + "webpki", ] [[package]] @@ -6752,11 +6792,11 @@ checksum = "06cda1232a49558c46f8a504d5b93101d42c0bf7f911f12a105ba48168f821ae" dependencies = [ "futures-util", "log", - "rustls 0.20.4", + "rustls", "tokio", - "tokio-rustls 0.23.2", + "tokio-rustls", "tungstenite", - "webpki 0.22.0", + "webpki", "webpki-roots", ] @@ -6776,6 +6816,20 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-util" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfdeb067411dba2044da6d1cb2df793dd35add7888d73c16e3381ded401764" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + [[package]] name = "toml" version = "0.5.8" @@ -6787,12 +6841,13 @@ dependencies = [ [[package]] name = "tonic" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08f4649d10a70ffa3522ca559031285d8e421d727ac85c60825761818f5d0a" +checksum = "30fb54bf1e446f44d870d260d99957e7d11fb9d0a0f5bd1a662ad1411cc103f9" dependencies = [ "async-stream", "async-trait", + "axum", "base64 0.13.0", "bytes", "futures-core", @@ -6806,10 +6861,11 @@ dependencies = [ "pin-project", "prost", "prost-derive", + "rustls-pemfile 0.3.0", "tokio", - "tokio-rustls 0.22.0", + "tokio-rustls", "tokio-stream", - "tokio-util", + "tokio-util 0.7.1", "tower", "tower-layer", "tower-service", @@ -6819,21 +6875,22 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757" +checksum = "4d17087af5c80e5d5fc8ba9878e60258065a0a757e35efe7a05b7904bece1943" dependencies = [ + "prettyplease", "proc-macro2 1.0.32", "prost-build", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] name = "tower" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00e500fff5fa1131c866b246041a6bf96da9c965f8fe4128cb1421f23e93c00" +checksum = "9a89fd63ad6adf737582df5db40d286574513c69a11dac5214dc3b5603d6713e" dependencies = [ "futures-core", "futures-util", @@ -6843,13 +6900,31 @@ dependencies = [ "rand 0.8.4", "slab", "tokio", - "tokio-stream", - "tokio-util", + "tokio-util 0.7.1", "tower-layer", "tower-service", "tracing", ] +[[package]] +name = "tower-http" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aba3f3efabf7fb41fae8534fc20a817013dd1c12cb45441efb6c82e6556b4cd8" +dependencies = [ + "bitflags", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-range-header", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.1" @@ -6883,7 +6958,7 @@ checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", ] [[package]] @@ -6953,12 +7028,12 @@ dependencies = [ "httparse", "log", "rand 0.8.4", - "rustls 0.20.4", + "rustls", "sha-1 0.10.0", "thiserror", "url 2.2.2", "utf-8", - "webpki 0.22.0", + "webpki", "webpki-roots", ] @@ -6998,12 +7073,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-segmentation" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" - [[package]] name = "unicode-width" version = "0.1.9" @@ -7198,7 +7267,7 @@ dependencies = [ "log", "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", "wasm-bindgen-shared", ] @@ -7232,7 +7301,7 @@ checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7253,16 +7322,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "webpki" version = "0.22.0" @@ -7279,7 +7338,7 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c475786c6f47219345717a043a37ec04cb4bc185e28853adcc4fa0a947eba630" dependencies = [ - "webpki 0.22.0", + "webpki", ] [[package]] @@ -7481,7 +7540,7 @@ checksum = "bdff2024a851a322b08f179173ae2ba620445aef1e838f0c196820eade4ae0c7" dependencies = [ "proc-macro2 1.0.32", "quote 1.0.10", - "syn 1.0.81", + "syn 1.0.91", "synstructure", ] diff --git a/core/Cargo.toml b/core/Cargo.toml index 70f919e731..423bfb8779 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -21,7 +21,7 @@ bs58 = "0.4.0" chrono = { version = "0.4.11", features = ["serde"] } crossbeam-channel = "0.5" dashmap = { version = "4.0.2", features = ["rayon", "raw-api"] } -etcd-client = { version = "0.8.4", features = ["tls"] } +etcd-client = { version = "0.9.0", features = ["tls"] } fs_extra = "1.2.0" histogram = "0.6.9" itertools = "0.10.3" diff --git a/ledger/Cargo.toml b/ledger/Cargo.toml index 5b49855be4..05ba18903a 100644 --- a/ledger/Cargo.toml +++ b/ledger/Cargo.toml @@ -26,7 +26,7 @@ lru = "0.7.5" num-derive = "0.3" num-traits = "0.2" num_cpus = "1.13.1" -prost = "0.9.0" +prost = "0.10.0" rand = "0.7.0" rand_chacha = "0.2.2" rayon = "1.5.1" diff --git a/storage-bigtable/Cargo.toml b/storage-bigtable/Cargo.toml index de01ddf395..3e082f7f3f 100644 --- a/storage-bigtable/Cargo.toml +++ b/storage-bigtable/Cargo.toml @@ -17,8 +17,8 @@ enum-iterator = "0.7.0" flate2 = "1.0.22" goauth = "0.11.1" log = "0.4.14" -prost = "0.9.0" -prost-types = "0.9.0" +prost = "0.10.0" +prost-types = "0.10.0" serde = "1.0.136" serde_derive = "1.0.103" smpl_jwt = "0.6.1" @@ -27,7 +27,7 @@ solana-sdk = { path = "../sdk", version = "=1.11.0" } solana-storage-proto = { path = "../storage-proto", version = "=1.11.0" } solana-transaction-status = { path = "../transaction-status", version = "=1.11.0" } thiserror = "1.0" -tonic = { version = "0.6.2", features = ["tls", "transport"] } +tonic = { version = "0.7.1", features = ["tls", "transport"] } zstd = "0.11.1" # openssl is a dependency of the goauth and smpl_jwt crates, but explicitly diff --git a/storage-bigtable/build-proto/Cargo.lock b/storage-bigtable/build-proto/Cargo.lock index b9519c01bb..13fd4665c0 100644 --- a/storage-bigtable/build-proto/Cargo.lock +++ b/storage-bigtable/build-proto/Cargo.lock @@ -2,15 +2,6 @@ # It is not intended for manual editing. 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]] name = "anyhow" version = "1.0.56" @@ -35,6 +26,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" +[[package]] +name = "cc" +version = "1.0.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" + [[package]] name = "cfg-if" version = "0.1.10" @@ -47,6 +44,15 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cmake" +version = "0.1.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a" +dependencies = [ + "cc", +] + [[package]] name = "either" version = "1.5.3" @@ -76,12 +82,9 @@ checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" [[package]] name = "heck" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" -dependencies = [ - "unicode-segmentation", -] +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" [[package]] name = "indexmap" @@ -132,12 +135,6 @@ dependencies = [ "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]] name = "multimap" version = "0.8.1" @@ -155,19 +152,29 @@ dependencies = [ ] [[package]] -name = "proc-macro2" -version = "1.0.27" +name = "prettyplease" +version = "0.1.9" 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 = [ "unicode-xid", ] [[package]] name = "prost" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" +checksum = "1bd5316aa8f5c82add416dfbc25116b84b748a21153f512917e8143640a71bbd" dependencies = [ "bytes", "prost-derive", @@ -175,11 +182,13 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" +checksum = "328f9f29b82409216decb172d81e936415d21245befa79cd34c3f29d87d1c50b" dependencies = [ "bytes", + "cfg-if 1.0.0", + "cmake", "heck", "itertools", "lazy_static", @@ -195,9 +204,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" +checksum = "df35198f0777b75e9ff669737c6da5136b59dba33cf5a010a6d1cc4d56defc6f" dependencies = [ "anyhow", "itertools", @@ -208,9 +217,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" +checksum = "926681c118ae6e512a3ccefd4abbe5521a14f4cc1e207356d4d00c0b7f2006fd" dependencies = [ "bytes", "prost", @@ -247,8 +256,6 @@ version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" dependencies = [ - "aho-corasick", - "memchr", "regex-syntax", ] @@ -269,9 +276,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.73" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" +checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" dependencies = [ "proc-macro2", "quote", @@ -314,22 +321,17 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757" +checksum = "4d17087af5c80e5d5fc8ba9878e60258065a0a757e35efe7a05b7904bece1943" dependencies = [ + "prettyplease", "proc-macro2", "prost-build", "quote", "syn", ] -[[package]] -name = "unicode-segmentation" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" - [[package]] name = "unicode-xid" version = "0.2.1" diff --git a/storage-bigtable/build-proto/Cargo.toml b/storage-bigtable/build-proto/Cargo.toml index 476cfd61b4..00a1654ae7 100644 --- a/storage-bigtable/build-proto/Cargo.toml +++ b/storage-bigtable/build-proto/Cargo.toml @@ -12,4 +12,4 @@ version = "1.11.0" [workspace] [dependencies] -tonic-build = "0.6.0" +tonic-build = "0.7.0" diff --git a/storage-bigtable/build-proto/src/main.rs b/storage-bigtable/build-proto/src/main.rs index a61afd1e18..4aa4089372 100644 --- a/storage-bigtable/build-proto/src/main.rs +++ b/storage-bigtable/build-proto/src/main.rs @@ -10,7 +10,6 @@ fn main() -> Result<(), std::io::Error> { tonic_build::configure() .build_client(true) .build_server(false) - .format(true) .out_dir(&out_dir) .compile( &[googleapis.join("google/bigtable/v2/bigtable.proto")], diff --git a/storage-bigtable/proto/google.api.rs b/storage-bigtable/proto/google.api.rs index 54fa00517b..9e71b8bff8 100644 --- a/storage-bigtable/proto/google.api.rs +++ b/storage-bigtable/proto/google.api.rs @@ -1,12 +1,12 @@ /// 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. #[derive(Clone, PartialEq, ::prost::Message)] pub struct Http { /// A list of HTTP configuration rules that apply to individual API methods. /// /// **NOTE:** All service configuration rules follow "last one wins" order. - #[prost(message, repeated, tag = "1")] + #[prost(message, repeated, tag="1")] pub rules: ::prost::alloc::vec::Vec, /// When set to true, URL path parameters will be fully URI-decoded except in /// cases of single segment matches in reserved expansion, where "%2F" will be @@ -14,7 +14,7 @@ pub struct Http { /// /// The default behavior is to not decode RFC 6570 reserved characters in multi /// segment matches. - #[prost(bool, tag = "2")] + #[prost(bool, tag="2")] pub fully_decode_reserved_expansion: bool, } /// # gRPC Transcoding @@ -22,10 +22,10 @@ pub struct Http { /// 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 /// that supports both gRPC APIs and REST APIs. Many systems, including [Google -/// APIs](https://github.com/googleapis/googleapis), -/// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC -/// Gateway](https://github.com/grpc-ecosystem/grpc-gateway), -/// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature +/// APIs](), +/// [Cloud Endpoints](), [gRPC +/// Gateway](), +/// and \[Envoy\]() proxy support this feature /// and use it for large scale production services. /// /// `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 /// message) are classified into three categories: /// - 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. /// - All other fields are passed via the URL query parameters, and the /// parameter name is the field path in the request message. A repeated /// field can be represented as multiple query parameters under the same /// 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. -/// 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. /// /// ### Path template syntax @@ -221,19 +221,19 @@ pub struct Http { /// /// 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 -/// 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 /// [Discovery -/// Document](https://developers.google.com/discovery/v1/reference/apis) as +/// Document]() as /// `{var}`. /// /// 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 -/// 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 /// unchanged. Such variables show up in the /// [Discovery -/// Document](https://developers.google.com/discovery/v1/reference/apis) as +/// Document]() as /// `{+var}`. /// /// ## 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 /// proto to JSON conversion must follow the [proto3 -/// specification](https://developers.google.com/protocol-buffers/docs/proto3#json). +/// specification](). /// /// 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]() Section 3.2.2 Simple String /// Expansion, the multi segment variable **does not** follow RFC 6570 Section /// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion /// does not expand special characters like `?` and `#`, which would lead @@ -290,8 +290,8 @@ pub struct Http { pub struct HttpRule { /// Selects a method to which this rule applies. /// - /// Refer to [selector][google.api.DocumentationRule.selector] for syntax details. - #[prost(string, tag = "1")] + /// Refer to \[selector][google.api.DocumentationRule.selector\] for syntax details. + #[prost(string, tag="1")] pub selector: ::prost::alloc::string::String, /// The name of the request field whose value is mapped to the HTTP request /// body, or `*` for mapping all request fields not captured by the path @@ -299,7 +299,7 @@ pub struct HttpRule { /// /// NOTE: the referred field must be present at the top-level of the request /// message type. - #[prost(string, tag = "7")] + #[prost(string, tag="7")] pub body: ::prost::alloc::string::String, /// Optional. The name of the response field whose value is mapped to the HTTP /// response body. When omitted, the entire response message will be used @@ -307,17 +307,17 @@ pub struct HttpRule { /// /// NOTE: The referred field must be present at the top-level of the response /// message type. - #[prost(string, tag = "12")] + #[prost(string, tag="12")] pub response_body: ::prost::alloc::string::String, /// Additional HTTP bindings for the selector. Nested bindings must /// not contain an `additional_bindings` field themselves (that is, /// the nesting may only be one level deep). - #[prost(message, repeated, tag = "11")] + #[prost(message, repeated, tag="11")] pub additional_bindings: ::prost::alloc::vec::Vec, /// Determines the URL pattern is matched by this rules. This pattern can be /// used with any of the {get|put|post|delete|patch} methods. A custom method /// can be defined using the 'custom' field. - #[prost(oneof = "http_rule::Pattern", tags = "2, 3, 4, 5, 6, 8")] + #[prost(oneof="http_rule::Pattern", tags="2, 3, 4, 5, 6, 8")] pub pattern: ::core::option::Option, } /// Nested message and enum types in `HttpRule`. @@ -329,25 +329,25 @@ pub mod http_rule { pub enum Pattern { /// Maps to HTTP GET. Used for listing and getting information about /// resources. - #[prost(string, tag = "2")] + #[prost(string, tag="2")] Get(::prost::alloc::string::String), /// Maps to HTTP PUT. Used for replacing a resource. - #[prost(string, tag = "3")] + #[prost(string, tag="3")] Put(::prost::alloc::string::String), /// Maps to HTTP POST. Used for creating a resource or performing an action. - #[prost(string, tag = "4")] + #[prost(string, tag="4")] Post(::prost::alloc::string::String), /// Maps to HTTP DELETE. Used for deleting a resource. - #[prost(string, tag = "5")] + #[prost(string, tag="5")] Delete(::prost::alloc::string::String), /// Maps to HTTP PATCH. Used for updating a resource. - #[prost(string, tag = "6")] + #[prost(string, tag="6")] Patch(::prost::alloc::string::String), /// The custom pattern is used for specifying an HTTP method that is not /// included in the `pattern` field, such as HEAD, or "*" to leave the /// HTTP method unspecified for this rule. The wild-card rule is useful /// for services that provide content to Web (HTML) clients. - #[prost(message, tag = "8")] + #[prost(message, tag="8")] Custom(super::CustomHttpPattern), } } @@ -355,10 +355,10 @@ pub mod http_rule { #[derive(Clone, PartialEq, ::prost::Message)] pub struct CustomHttpPattern { /// The name of this custom HTTP verb. - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub kind: ::prost::alloc::string::String, /// The path matched by this custom verb. - #[prost(string, tag = "2")] + #[prost(string, tag="2")] pub path: ::prost::alloc::string::String, } /// An indicator of the behavior of a given field (for example, that a field @@ -393,6 +393,16 @@ pub enum FieldBehavior { /// This indicates that the field may be set once in a request to create a /// resource, but may not be changed thereafter. 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. /// @@ -511,10 +521,10 @@ pub struct ResourceDescriptor { /// Example: `storage.googleapis.com/Bucket` /// /// 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 /// characters allowed for the `resource_type_kind` is 100. - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub r#type: ::prost::alloc::string::String, /// Optional. The relative resource name pattern associated with this resource /// type. The DNS prefix of the full resource name shouldn't be specified here. @@ -535,11 +545,11 @@ pub struct ResourceDescriptor { /// hierarchy. It is expected that, if multiple patterns are provided, /// the same component name (e.g. "project") refers to IDs of the same /// type of resource. - #[prost(string, repeated, tag = "2")] + #[prost(string, repeated, tag="2")] pub pattern: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, /// Optional. The field on the resource that designates the resource name /// field. If omitted, this is assumed to be "name". - #[prost(string, tag = "3")] + #[prost(string, tag="3")] pub name_field: ::prost::alloc::string::String, /// Optional. The historical or future-looking state of the resource pattern. /// @@ -556,27 +566,27 @@ pub struct ResourceDescriptor { /// history: ORIGINALLY_SINGLE_PATTERN /// }; /// } - #[prost(enumeration = "resource_descriptor::History", tag = "4")] + #[prost(enumeration="resource_descriptor::History", tag="4")] pub history: i32, /// The plural name used in the resource name and permission names, such as /// 'projects' for the resource name of 'projects/{project}' and the permission /// name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same /// concept of the `plural` field in k8s CRD spec - /// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ + /// /// /// Note: The plural form is required even for singleton resources. See - /// https://aip.dev/156 - #[prost(string, tag = "5")] + /// + #[prost(string, tag="5")] pub plural: ::prost::alloc::string::String, /// The same concept of the `singular` field in k8s CRD spec - /// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ + /// /// Such as "project" for the `resourcemanager.googleapis.com/Project` type. - #[prost(string, tag = "6")] + #[prost(string, tag="6")] pub singular: ::prost::alloc::string::String, /// Style flag(s) for this resource. /// These indicate that a resource is expected to conform to a given /// style. See the specific style flags for additional information. - #[prost(enumeration = "resource_descriptor::Style", repeated, tag = "10")] + #[prost(enumeration="resource_descriptor::Style", repeated, tag="10")] pub style: ::prost::alloc::vec::Vec, } /// Nested message and enum types in `ResourceDescriptor`. @@ -637,7 +647,7 @@ pub struct ResourceReference { /// type: "*" /// }]; /// } - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub r#type: ::prost::alloc::string::String, /// The resource type of a child collection that the annotated field /// references. This is useful for annotating the `parent` field that @@ -650,6 +660,6 @@ pub struct ResourceReference { /// child_type: "logging.googleapis.com/LogEntry" /// }; /// } - #[prost(string, tag = "2")] + #[prost(string, tag="2")] pub child_type: ::prost::alloc::string::String, } diff --git a/storage-bigtable/proto/google.bigtable.v2.rs b/storage-bigtable/proto/google.bigtable.v2.rs index d993d1df1f..e7b3b4f164 100644 --- a/storage-bigtable/proto/google.bigtable.v2.rs +++ b/storage-bigtable/proto/google.bigtable.v2.rs @@ -5,11 +5,11 @@ pub struct Row { /// The unique key which identifies this row within its table. This is the same /// key that's used to identify the row in, for example, a MutateRowRequest. /// May contain any non-empty byte string up to 4KiB in length. - #[prost(bytes = "vec", tag = "1")] + #[prost(bytes="vec", tag="1")] pub key: ::prost::alloc::vec::Vec, /// May be empty, but only if the entire row is empty. /// The mutual ordering of column families is not specified. - #[prost(message, repeated, tag = "2")] + #[prost(message, repeated, tag="2")] pub families: ::prost::alloc::vec::Vec, } /// Specifies (some of) the contents of a single row/column family intersection @@ -19,13 +19,13 @@ pub struct Family { /// 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 /// 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. /// Must be no greater than 64 characters in length. - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub name: ::prost::alloc::string::String, /// Must not be empty. Sorted in order of increasing "qualifier". - #[prost(message, repeated, tag = "2")] + #[prost(message, repeated, tag="2")] pub columns: ::prost::alloc::vec::Vec, } /// Specifies (some of) the contents of a single row/column intersection of a @@ -37,10 +37,10 @@ pub struct Column { /// which sets its `column_qualifier_regex_filter` field. /// May contain any byte string, including the empty string, up to 16kiB in /// length. - #[prost(bytes = "vec", tag = "1")] + #[prost(bytes="vec", tag="1")] pub qualifier: ::prost::alloc::vec::Vec, /// Must not be empty. Sorted in order of decreasing "timestamp_micros". - #[prost(message, repeated, tag = "2")] + #[prost(message, repeated, tag="2")] pub cells: ::prost::alloc::vec::Vec, } /// Specifies (some of) the contents of a single row/column/timestamp of a table. @@ -52,15 +52,15 @@ pub struct Cell { /// a coarser granularity to further restrict the allowed values. For /// example, a table which specifies millisecond granularity will only allow /// values of `timestamp_micros` which are multiples of 1000. - #[prost(int64, tag = "1")] + #[prost(int64, tag="1")] pub timestamp_micros: i64, /// The value stored in the cell. /// May contain any byte string, including the empty string, up to 100MiB in /// length. - #[prost(bytes = "vec", tag = "2")] + #[prost(bytes="vec", tag="2")] pub value: ::prost::alloc::vec::Vec, - /// Labels applied to the cell by a [RowFilter][google.bigtable.v2.RowFilter]. - #[prost(string, repeated, tag = "3")] + /// Labels applied to the cell by a \[RowFilter][google.bigtable.v2.RowFilter\]. + #[prost(string, repeated, tag="3")] pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } /// Specifies a contiguous range of rows. @@ -68,11 +68,11 @@ pub struct Cell { pub struct RowRange { /// The row key at which to start the range. /// If neither field is set, interpreted as the empty string, inclusive. - #[prost(oneof = "row_range::StartKey", tags = "1, 2")] + #[prost(oneof="row_range::StartKey", tags="1, 2")] pub start_key: ::core::option::Option, /// The row key at which to end the range. /// If neither field is set, interpreted as the infinite row key, exclusive. - #[prost(oneof = "row_range::EndKey", tags = "3, 4")] + #[prost(oneof="row_range::EndKey", tags="3, 4")] pub end_key: ::core::option::Option, } /// Nested message and enum types in `RowRange`. @@ -82,10 +82,10 @@ pub mod row_range { #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum StartKey { /// Used when giving an inclusive lower bound for the range. - #[prost(bytes, tag = "1")] + #[prost(bytes, tag="1")] StartKeyClosed(::prost::alloc::vec::Vec), /// Used when giving an exclusive lower bound for the range. - #[prost(bytes, tag = "2")] + #[prost(bytes, tag="2")] StartKeyOpen(::prost::alloc::vec::Vec), } /// The row key at which to end the range. @@ -93,10 +93,10 @@ pub mod row_range { #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum EndKey { /// Used when giving an exclusive upper bound for the range. - #[prost(bytes, tag = "3")] + #[prost(bytes, tag="3")] EndKeyOpen(::prost::alloc::vec::Vec), /// Used when giving an inclusive upper bound for the range. - #[prost(bytes, tag = "4")] + #[prost(bytes, tag="4")] EndKeyClosed(::prost::alloc::vec::Vec), } } @@ -104,10 +104,10 @@ pub mod row_range { #[derive(Clone, PartialEq, ::prost::Message)] pub struct RowSet { /// Single rows included in the set. - #[prost(bytes = "vec", repeated, tag = "1")] + #[prost(bytes="vec", repeated, tag="1")] pub row_keys: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, /// Contiguous row ranges included in the set. - #[prost(message, repeated, tag = "2")] + #[prost(message, repeated, tag="2")] pub row_ranges: ::prost::alloc::vec::Vec, } /// Specifies a contiguous range of columns within a single column family. @@ -117,15 +117,15 @@ pub struct RowSet { #[derive(Clone, PartialEq, ::prost::Message)] pub struct ColumnRange { /// The name of the column family within which this range falls. - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub family_name: ::prost::alloc::string::String, /// The column qualifier at which to start the range (within `column_family`). /// If neither field is set, interpreted as the empty string, inclusive. - #[prost(oneof = "column_range::StartQualifier", tags = "2, 3")] + #[prost(oneof="column_range::StartQualifier", tags="2, 3")] pub start_qualifier: ::core::option::Option, /// The column qualifier at which to end the range (within `column_family`). /// If neither field is set, interpreted as the infinite string, exclusive. - #[prost(oneof = "column_range::EndQualifier", tags = "4, 5")] + #[prost(oneof="column_range::EndQualifier", tags="4, 5")] pub end_qualifier: ::core::option::Option, } /// Nested message and enum types in `ColumnRange`. @@ -135,10 +135,10 @@ pub mod column_range { #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum StartQualifier { /// Used when giving an inclusive lower bound for the range. - #[prost(bytes, tag = "2")] + #[prost(bytes, tag="2")] StartQualifierClosed(::prost::alloc::vec::Vec), /// Used when giving an exclusive lower bound for the range. - #[prost(bytes, tag = "3")] + #[prost(bytes, tag="3")] StartQualifierOpen(::prost::alloc::vec::Vec), } /// The column qualifier at which to end the range (within `column_family`). @@ -146,10 +146,10 @@ pub mod column_range { #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum EndQualifier { /// Used when giving an inclusive upper bound for the range. - #[prost(bytes, tag = "4")] + #[prost(bytes, tag="4")] EndQualifierClosed(::prost::alloc::vec::Vec), /// Used when giving an exclusive upper bound for the range. - #[prost(bytes, tag = "5")] + #[prost(bytes, tag="5")] EndQualifierOpen(::prost::alloc::vec::Vec), } } @@ -157,10 +157,10 @@ pub mod column_range { #[derive(Clone, PartialEq, ::prost::Message)] pub struct TimestampRange { /// Inclusive lower bound. If left empty, interpreted as 0. - #[prost(int64, tag = "1")] + #[prost(int64, tag="1")] pub start_timestamp_micros: i64, /// Exclusive upper bound. If left empty, interpreted as infinity. - #[prost(int64, tag = "2")] + #[prost(int64, tag="2")] pub end_timestamp_micros: i64, } /// Specifies a contiguous range of raw byte values. @@ -168,11 +168,11 @@ pub struct TimestampRange { pub struct ValueRange { /// The value at which to start the range. /// If neither field is set, interpreted as the empty string, inclusive. - #[prost(oneof = "value_range::StartValue", tags = "1, 2")] + #[prost(oneof="value_range::StartValue", tags="1, 2")] pub start_value: ::core::option::Option, /// The value at which to end the range. /// If neither field is set, interpreted as the infinite string, exclusive. - #[prost(oneof = "value_range::EndValue", tags = "3, 4")] + #[prost(oneof="value_range::EndValue", tags="3, 4")] pub end_value: ::core::option::Option, } /// Nested message and enum types in `ValueRange`. @@ -182,10 +182,10 @@ pub mod value_range { #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum StartValue { /// Used when giving an inclusive lower bound for the range. - #[prost(bytes, tag = "1")] + #[prost(bytes, tag="1")] StartValueClosed(::prost::alloc::vec::Vec), /// Used when giving an exclusive lower bound for the range. - #[prost(bytes, tag = "2")] + #[prost(bytes, tag="2")] StartValueOpen(::prost::alloc::vec::Vec), } /// The value at which to end the range. @@ -193,10 +193,10 @@ pub mod value_range { #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum EndValue { /// Used when giving an inclusive upper bound for the range. - #[prost(bytes, tag = "3")] + #[prost(bytes, tag="3")] EndValueClosed(::prost::alloc::vec::Vec), /// Used when giving an exclusive upper bound for the range. - #[prost(bytes, tag = "4")] + #[prost(bytes, tag="4")] EndValueOpen(::prost::alloc::vec::Vec), } } @@ -215,10 +215,10 @@ pub mod value_range { /// * 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`, /// 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 () /// 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 -/// `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`, /// which may need to be further escaped as `\\C` in your client language. /// @@ -237,14 +237,10 @@ pub mod value_range { pub struct RowFilter { /// Which of the possible RowFilter types to apply. If none are set, this /// RowFilter returns all cells in the input row. - #[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" - )] + #[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")] pub filter: ::core::option::Option, } /// Nested message and enum types in `RowFilter`. -#[allow(clippy::enum_variant_names)] pub mod row_filter { /// A RowFilter which sends rows through several RowFilters in sequence. #[derive(Clone, PartialEq, ::prost::Message)] @@ -252,7 +248,7 @@ pub mod row_filter { /// The elements of "filters" are chained together to process the input row: /// in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row /// The full chain is executed atomically. - #[prost(message, repeated, tag = "1")] + #[prost(message, repeated, tag="1")] pub filters: ::prost::alloc::vec::Vec, } /// A RowFilter which sends each row to each of several component @@ -284,7 +280,7 @@ pub mod row_filter { /// 6: far,blah,5,x // identical to #5 /// /// All interleaved filters are executed atomically. - #[prost(message, repeated, tag = "1")] + #[prost(message, repeated, tag="1")] pub filters: ::prost::alloc::vec::Vec, } /// A RowFilter which evaluates one of two possible RowFilters, depending on @@ -298,16 +294,16 @@ pub mod row_filter { pub struct Condition { /// If `predicate_filter` outputs any cells, then `true_filter` will be /// evaluated on the input row. Otherwise, `false_filter` will be evaluated. - #[prost(message, optional, boxed, tag = "1")] + #[prost(message, optional, boxed, tag="1")] pub predicate_filter: ::core::option::Option<::prost::alloc::boxed::Box>, /// The filter to apply to the input row if `predicate_filter` returns any /// results. If not provided, no results will be returned in the true case. - #[prost(message, optional, boxed, tag = "2")] + #[prost(message, optional, boxed, tag="2")] pub true_filter: ::core::option::Option<::prost::alloc::boxed::Box>, /// The filter to apply to the input row if `predicate_filter` does not /// return any results. If not provided, no results will be returned in the /// false case. - #[prost(message, optional, boxed, tag = "3")] + #[prost(message, optional, boxed, tag="3")] pub false_filter: ::core::option::Option<::prost::alloc::boxed::Box>, } /// Which of the possible RowFilter types to apply. If none are set, this @@ -316,15 +312,15 @@ pub mod row_filter { pub enum Filter { /// Applies several RowFilters to the data in sequence, progressively /// narrowing the results. - #[prost(message, tag = "1")] + #[prost(message, tag="1")] Chain(Chain), /// Applies several RowFilters to the data in parallel and combines the /// results. - #[prost(message, tag = "2")] + #[prost(message, tag="2")] Interleave(Interleave), /// Applies one of two possible RowFilters to the data based on the output of /// a predicate RowFilter. - #[prost(message, tag = "3")] + #[prost(message, tag="3")] Condition(::prost::alloc::boxed::Box), /// ADVANCED USE ONLY. /// Hook for introspection into the RowFilter. Outputs all cells directly to @@ -353,13 +349,13 @@ pub mod row_filter { /// | | /// All() Label(foo) /// | | - /// A,A,1,w A,A,1,w,labels:[foo] - /// A,B,2,x A,B,2,x,labels:[foo] + /// A,A,1,w A,A,1,w,labels:\[foo\] + /// A,B,2,x A,B,2,x,labels:\[foo\] /// | | /// | Sink() --------------+ /// | | | - /// +------------+ x------+ A,A,1,w,labels:[foo] - /// | A,B,2,x,labels:[foo] + /// +------------+ x------+ A,A,1,w,labels:\[foo\] + /// | A,B,2,x,labels:\[foo\] /// A,A,1,w | /// A,B,2,x | /// | | @@ -369,14 +365,14 @@ pub mod row_filter { /// | | /// +--------------------------------+ /// | - /// A,A,1,w,labels:[foo] - /// A,B,2,x,labels:[foo] // could be switched + /// A,A,1,w,labels:\[foo\] + /// A,B,2,x,labels:\[foo\] // could be switched /// A,B,2,x // could be switched /// /// Despite being excluded by the qualifier filter, a copy of every cell /// 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. /// 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 @@ -384,16 +380,16 @@ pub mod row_filter { /// while the other does not. /// /// Cannot be used within the `predicate_filter`, `true_filter`, or - /// `false_filter` of a [Condition][google.bigtable.v2.RowFilter.Condition]. - #[prost(bool, tag = "16")] + /// `false_filter` of a \[Condition][google.bigtable.v2.RowFilter.Condition\]. + #[prost(bool, tag="16")] Sink(bool), /// Matches all cells, regardless of input. Functionally equivalent to /// leaving `filter` unset, but included for completeness. - #[prost(bool, tag = "17")] + #[prost(bool, tag="17")] PassAllFilter(bool), /// Does not match any cells, regardless of input. Useful for temporarily /// disabling just part of a filter. - #[prost(bool, tag = "18")] + #[prost(bool, tag="18")] BlockAllFilter(bool), /// Matches only cells from rows whose keys satisfy the given RE2 regex. In /// other words, passes through the entire row when the key matches, and @@ -402,11 +398,11 @@ pub mod row_filter { /// sequence must be used if a true wildcard is desired. The `.` character /// will not match the new line character `\n`, which may be present in a /// binary key. - #[prost(bytes, tag = "4")] + #[prost(bytes, tag="4")] RowKeyRegexFilter(::prost::alloc::vec::Vec), /// Matches all cells from a row with probability p, and matches no cells /// from the row with probability 1-p. - #[prost(double, tag = "14")] + #[prost(double, tag="14")] RowSampleFilter(f64), /// Matches only cells from columns whose families satisfy the given RE2 /// regex. For technical reasons, the regex must not contain the `:` @@ -414,7 +410,7 @@ pub mod row_filter { /// Note that, since column families cannot contain the new line character /// `\n`, it is sufficient to use `.` as a full wildcard when matching /// column family names. - #[prost(string, tag = "5")] + #[prost(string, tag="5")] FamilyNameRegexFilter(::prost::alloc::string::String), /// Matches only cells from columns whose qualifiers satisfy the given RE2 /// regex. @@ -422,33 +418,33 @@ pub mod row_filter { /// escape sequence must be used if a true wildcard is desired. The `.` /// character will not match the new line character `\n`, which may be /// present in a binary qualifier. - #[prost(bytes, tag = "6")] + #[prost(bytes, tag="6")] ColumnQualifierRegexFilter(::prost::alloc::vec::Vec), /// Matches only cells from columns within the given range. - #[prost(message, tag = "7")] + #[prost(message, tag="7")] ColumnRangeFilter(super::ColumnRange), /// Matches only cells with timestamps within the given range. - #[prost(message, tag = "8")] + #[prost(message, tag="8")] TimestampRangeFilter(super::TimestampRange), /// Matches only cells with values that satisfy the given regular expression. /// Note that, since cell values can contain arbitrary bytes, the `\C` escape /// sequence must be used if a true wildcard is desired. The `.` character /// will not match the new line character `\n`, which may be present in a /// binary value. - #[prost(bytes, tag = "9")] + #[prost(bytes, tag="9")] ValueRegexFilter(::prost::alloc::vec::Vec), /// Matches only cells with values that fall within the given range. - #[prost(message, tag = "15")] + #[prost(message, tag="15")] ValueRangeFilter(super::ValueRange), /// Skips the first N cells of each row, matching all subsequent cells. /// If duplicate cells are present, as is possible when using an Interleave, /// each copy of the cell is counted separately. - #[prost(int32, tag = "10")] + #[prost(int32, tag="10")] CellsPerRowOffsetFilter(i32), /// Matches only the first N cells of each row. /// If duplicate cells are present, as is possible when using an Interleave, /// each copy of the cell is counted separately. - #[prost(int32, tag = "11")] + #[prost(int32, tag="11")] CellsPerRowLimitFilter(i32), /// Matches only the most recent N cells within each column. For example, /// if N=2, this filter would match column `foo:bar` at timestamps 10 and 9, @@ -456,17 +452,17 @@ pub mod row_filter { /// column `foo:bar2`. /// If duplicate cells are present, as is possible when using an Interleave, /// each copy of the cell is counted separately. - #[prost(int32, tag = "12")] + #[prost(int32, tag="12")] CellsPerColumnLimitFilter(i32), /// Replaces each cell's value with the empty string. - #[prost(bool, tag = "13")] + #[prost(bool, tag="13")] StripValueTransformer(bool), /// Applies the given label to all cells in the output row. This allows /// the client to determine which results were produced from which part of /// the filter. /// /// 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 /// multiple labels to a cell. As a result, a Chain may have no more than @@ -474,7 +470,7 @@ pub mod row_filter { /// an Interleave to contain multiple `apply_label_transformers`, as they /// will be applied to separate copies of the input. This may be relaxed in /// the future. - #[prost(string, tag = "19")] + #[prost(string, tag="19")] ApplyLabelTransformer(::prost::alloc::string::String), } } @@ -482,7 +478,7 @@ pub mod row_filter { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Mutation { /// Which of the possible Mutation types to apply. - #[prost(oneof = "mutation::Mutation", tags = "1, 2, 3, 4")] + #[prost(oneof="mutation::Mutation", tags="1, 2, 3, 4")] pub mutation: ::core::option::Option, } /// Nested message and enum types in `Mutation`. @@ -491,22 +487,22 @@ pub mod mutation { #[derive(Clone, PartialEq, ::prost::Message)] pub struct SetCell { /// The name of the family into which new data should be written. - /// Must match `[-_.a-zA-Z0-9]+` - #[prost(string, tag = "1")] + /// Must match `\[-_.a-zA-Z0-9\]+` + #[prost(string, tag="1")] pub family_name: ::prost::alloc::string::String, /// The qualifier of the column into which new data should be written. /// Can be any byte string, including the empty string. - #[prost(bytes = "vec", tag = "2")] + #[prost(bytes="vec", tag="2")] pub column_qualifier: ::prost::alloc::vec::Vec, /// The timestamp of the cell into which new data should be written. /// Use -1 for current Bigtable server time. /// Otherwise, the client should set this value itself, noting that the /// default value is a timestamp of zero if the field is left unspecified. /// Values must match the granularity of the table (e.g. micros, millis). - #[prost(int64, tag = "3")] + #[prost(int64, tag="3")] pub timestamp_micros: i64, /// The value to be written into the specified cell. - #[prost(bytes = "vec", tag = "4")] + #[prost(bytes="vec", tag="4")] pub value: ::prost::alloc::vec::Vec, } /// A Mutation which deletes cells from the specified column, optionally @@ -514,42 +510,43 @@ pub mod mutation { #[derive(Clone, PartialEq, ::prost::Message)] pub struct DeleteFromColumn { /// The name of the family from which cells should be deleted. - /// Must match `[-_.a-zA-Z0-9]+` - #[prost(string, tag = "1")] + /// Must match `\[-_.a-zA-Z0-9\]+` + #[prost(string, tag="1")] pub family_name: ::prost::alloc::string::String, /// The qualifier of the column from which cells should be deleted. /// Can be any byte string, including the empty string. - #[prost(bytes = "vec", tag = "2")] + #[prost(bytes="vec", tag="2")] pub column_qualifier: ::prost::alloc::vec::Vec, /// The range of timestamps within which cells should be deleted. - #[prost(message, optional, tag = "3")] + #[prost(message, optional, tag="3")] pub time_range: ::core::option::Option, } /// A Mutation which deletes all cells from the specified column family. #[derive(Clone, PartialEq, ::prost::Message)] pub struct DeleteFromFamily { /// The name of the family from which cells should be deleted. - /// Must match `[-_.a-zA-Z0-9]+` - #[prost(string, tag = "1")] + /// Must match `\[-_.a-zA-Z0-9\]+` + #[prost(string, tag="1")] pub family_name: ::prost::alloc::string::String, } /// A Mutation which deletes all cells from the containing row. #[derive(Clone, PartialEq, ::prost::Message)] - pub struct DeleteFromRow {} + pub struct DeleteFromRow { + } /// Which of the possible Mutation types to apply. #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum Mutation { /// Set a cell's value. - #[prost(message, tag = "1")] + #[prost(message, tag="1")] SetCell(SetCell), /// Deletes cells from a column. - #[prost(message, tag = "2")] + #[prost(message, tag="2")] DeleteFromColumn(DeleteFromColumn), /// Deletes cells from a column family. - #[prost(message, tag = "3")] + #[prost(message, tag="3")] DeleteFromFamily(DeleteFromFamily), /// Deletes cells from the entire row. - #[prost(message, tag = "4")] + #[prost(message, tag="4")] DeleteFromRow(DeleteFromRow), } } @@ -558,17 +555,17 @@ pub mod mutation { #[derive(Clone, PartialEq, ::prost::Message)] pub struct ReadModifyWriteRule { /// The name of the family to which the read/modify/write should be applied. - /// Must match `[-_.a-zA-Z0-9]+` - #[prost(string, tag = "1")] + /// Must match `\[-_.a-zA-Z0-9\]+` + #[prost(string, tag="1")] pub family_name: ::prost::alloc::string::String, /// The qualifier of the column to which the read/modify/write should be /// applied. /// Can be any byte string, including the empty string. - #[prost(bytes = "vec", tag = "2")] + #[prost(bytes="vec", tag="2")] pub column_qualifier: ::prost::alloc::vec::Vec, /// The rule used to determine the column's new latest value from its current /// latest value. - #[prost(oneof = "read_modify_write_rule::Rule", tags = "3, 4")] + #[prost(oneof="read_modify_write_rule::Rule", tags="3, 4")] pub rule: ::core::option::Option, } /// Nested message and enum types in `ReadModifyWriteRule`. @@ -580,13 +577,13 @@ pub mod read_modify_write_rule { /// Rule specifying that `append_value` be appended to the existing value. /// If the targeted cell is unset, it will be treated as containing the /// empty string. - #[prost(bytes, tag = "3")] + #[prost(bytes, tag="3")] AppendValue(::prost::alloc::vec::Vec), /// Rule specifying that `increment_amount` be added to the existing value. /// If the targeted cell is unset, it will be treated as containing a zero. /// Otherwise, the targeted cell must contain an 8-byte value (interpreted /// as a 64-bit big-endian signed integer), or the entire request will fail. - #[prost(int64, tag = "4")] + #[prost(int64, tag="4")] IncrementAmount(i64), } } @@ -596,29 +593,29 @@ pub struct ReadRowsRequest { /// Required. The unique name of the table from which to read. /// Values are of the form /// `projects//instances//tables/`. - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub table_name: ::prost::alloc::string::String, /// This value specifies routing for replication. If not specified, the /// "default" application profile will be used. - #[prost(string, tag = "5")] + #[prost(string, tag="5")] pub app_profile_id: ::prost::alloc::string::String, /// The row keys and/or ranges to read. If not specified, reads from all rows. - #[prost(message, optional, tag = "2")] + #[prost(message, optional, tag="2")] pub rows: ::core::option::Option, /// The filter to apply to the contents of the specified row(s). If unset, /// reads the entirety of each row. - #[prost(message, optional, tag = "3")] + #[prost(message, optional, tag="3")] pub filter: ::core::option::Option, /// The read will terminate after committing to N rows' worth of results. The /// default (zero) is to return all results. - #[prost(int64, tag = "4")] + #[prost(int64, tag="4")] pub rows_limit: i64, } /// Response message for Bigtable.ReadRows. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ReadRowsResponse { /// A collection of a row's contents as part of the read request. - #[prost(message, repeated, tag = "1")] + #[prost(message, repeated, tag="1")] pub chunks: ::prost::alloc::vec::Vec, /// Optionally the server might return the row key of the last row it /// has scanned. The client can use this to construct a more @@ -627,7 +624,7 @@ pub struct ReadRowsResponse { /// This is primarily useful for cases where the server has read a /// lot of data that was filtered out since the last committed row /// key, allowing the client to skip that work on a retry. - #[prost(bytes = "vec", tag = "2")] + #[prost(bytes="vec", tag="2")] pub last_scanned_row_key: ::prost::alloc::vec::Vec, } /// Nested message and enum types in `ReadRowsResponse`. @@ -640,7 +637,7 @@ pub mod read_rows_response { /// this CellChunk is a continuation of the same row as the previous /// CellChunk in the response stream, even if that CellChunk was in a /// previous ReadRowsResponse message. - #[prost(bytes = "vec", tag = "1")] + #[prost(bytes="vec", tag="1")] pub row_key: ::prost::alloc::vec::Vec, /// The column family name for this chunk of data. If this message /// is not present this CellChunk is a continuation of the same column @@ -648,14 +645,14 @@ pub mod read_rows_response { /// column family name in a response so clients must check /// explicitly for the presence of this message, not just for /// `family_name.value` being non-empty. - #[prost(message, optional, tag = "2")] + #[prost(message, optional, tag="2")] pub family_name: ::core::option::Option<::prost::alloc::string::String>, /// The column qualifier for this chunk of data. If this message /// is not present, this CellChunk is a continuation of the same column /// as the previous CellChunk. Column qualifiers may be empty so /// clients must check for the presence of this message, not just /// for `qualifier.value` being non-empty. - #[prost(message, optional, tag = "3")] + #[prost(message, optional, tag="3")] pub qualifier: ::core::option::Option<::prost::alloc::vec::Vec>, /// The cell's stored timestamp, which also uniquely identifies it /// within its column. Values are always expressed in @@ -665,28 +662,28 @@ pub mod read_rows_response { /// only allow values of `timestamp_micros` which are multiples of /// 1000. Timestamps are only set in the first CellChunk per cell /// (for cells split into multiple chunks). - #[prost(int64, tag = "4")] + #[prost(int64, tag="4")] pub timestamp_micros: i64, /// 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. - #[prost(string, repeated, tag = "5")] + #[prost(string, repeated, tag="5")] pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, /// The value stored in the cell. Cell values can be split across /// multiple CellChunks. In that case only the value field will be /// set in CellChunks after the first: the timestamp and labels /// will only be present in the first CellChunk, even if the first /// CellChunk came in a previous ReadRowsResponse. - #[prost(bytes = "vec", tag = "6")] + #[prost(bytes="vec", tag="6")] pub value: ::prost::alloc::vec::Vec, /// If this CellChunk is part of a chunked cell value and this is /// not the final chunk of that cell, value_size will be set to the /// total length of the cell value. The client can use this size /// to pre-allocate memory to hold the full cell value. - #[prost(int32, tag = "7")] + #[prost(int32, tag="7")] pub value_size: i32, /// Signals to the client concerning previous CellChunks received. - #[prost(oneof = "cell_chunk::RowStatus", tags = "8, 9")] + #[prost(oneof="cell_chunk::RowStatus", tags="8, 9")] pub row_status: ::core::option::Option, } /// Nested message and enum types in `CellChunk`. @@ -696,11 +693,11 @@ pub mod read_rows_response { pub enum RowStatus { /// Indicates that the client should drop all previous chunks for /// `row_key`, as it will be re-read from the beginning. - #[prost(bool, tag = "8")] + #[prost(bool, tag="8")] ResetRow(bool), /// Indicates that the client can safely process all previous chunks for /// `row_key`, as its data has been fully read. - #[prost(bool, tag = "9")] + #[prost(bool, tag="9")] CommitRow(bool), } } @@ -711,11 +708,11 @@ pub struct SampleRowKeysRequest { /// Required. The unique name of the table from which to sample row keys. /// Values are of the form /// `projects//instances//tables/
`. - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub table_name: ::prost::alloc::string::String, /// This value specifies routing for replication. If not specified, the /// "default" application profile will be used. - #[prost(string, tag = "2")] + #[prost(string, tag="2")] pub app_profile_id: ::prost::alloc::string::String, } /// Response message for Bigtable.SampleRowKeys. @@ -728,13 +725,13 @@ pub struct SampleRowKeysResponse { /// Note that row keys in this list may not have ever been written to or read /// from, and users should therefore not make any assumptions about the row key /// structure that are specific to their use case. - #[prost(bytes = "vec", tag = "1")] + #[prost(bytes="vec", tag="1")] pub row_key: ::prost::alloc::vec::Vec, /// Approximate total storage space used by all rows in the table which precede /// `row_key`. Buffering the contents of all rows between two subsequent /// samples would require space roughly equal to the difference in their /// `offset_bytes` fields. - #[prost(int64, tag = "2")] + #[prost(int64, tag="2")] pub offset_bytes: i64, } /// Request message for Bigtable.MutateRow. @@ -743,40 +740,41 @@ pub struct MutateRowRequest { /// Required. The unique name of the table to which the mutation should be applied. /// Values are of the form /// `projects//instances//tables/
`. - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub table_name: ::prost::alloc::string::String, /// This value specifies routing for replication. If not specified, the /// "default" application profile will be used. - #[prost(string, tag = "4")] + #[prost(string, tag="4")] pub app_profile_id: ::prost::alloc::string::String, /// Required. The key of the row to which the mutation should be applied. - #[prost(bytes = "vec", tag = "2")] + #[prost(bytes="vec", tag="2")] pub row_key: ::prost::alloc::vec::Vec, /// Required. Changes to be atomically applied to the specified row. Entries are applied /// in order, meaning that earlier mutations can be masked by later ones. /// Must contain at least one entry and at most 100000. - #[prost(message, repeated, tag = "3")] + #[prost(message, repeated, tag="3")] pub mutations: ::prost::alloc::vec::Vec, } /// Response message for Bigtable.MutateRow. #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MutateRowResponse {} +pub struct MutateRowResponse { +} /// Request message for BigtableService.MutateRows. #[derive(Clone, PartialEq, ::prost::Message)] pub struct MutateRowsRequest { /// Required. The unique name of the table to which the mutations should be applied. - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub table_name: ::prost::alloc::string::String, /// This value specifies routing for replication. If not specified, the /// "default" application profile will be used. - #[prost(string, tag = "3")] + #[prost(string, tag="3")] pub app_profile_id: ::prost::alloc::string::String, /// Required. The row keys and corresponding mutations to be applied in bulk. /// Each entry is applied as an atomic mutation, but the entries may be /// applied in arbitrary order (even between entries for the same row). /// At least one entry must be specified, and in total the entries can /// contain at most 100000 mutations. - #[prost(message, repeated, tag = "2")] + #[prost(message, repeated, tag="2")] pub entries: ::prost::alloc::vec::Vec, } /// Nested message and enum types in `MutateRowsRequest`. @@ -785,13 +783,13 @@ pub mod mutate_rows_request { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Entry { /// The key of the row to which the `mutations` should be applied. - #[prost(bytes = "vec", tag = "1")] + #[prost(bytes="vec", tag="1")] pub row_key: ::prost::alloc::vec::Vec, /// Required. Changes to be atomically applied to the specified row. Mutations are /// applied in order, meaning that earlier mutations can be masked by /// later ones. /// You must specify at least one mutation. - #[prost(message, repeated, tag = "2")] + #[prost(message, repeated, tag="2")] pub mutations: ::prost::alloc::vec::Vec, } } @@ -799,7 +797,7 @@ pub mod mutate_rows_request { #[derive(Clone, PartialEq, ::prost::Message)] pub struct MutateRowsResponse { /// One or more results for Entries from the batch request. - #[prost(message, repeated, tag = "1")] + #[prost(message, repeated, tag="1")] pub entries: ::prost::alloc::vec::Vec, } /// Nested message and enum types in `MutateRowsResponse`. @@ -809,13 +807,13 @@ pub mod mutate_rows_response { pub struct Entry { /// The index into the original request's `entries` list of the Entry /// for which a result is being reported. - #[prost(int64, tag = "1")] + #[prost(int64, tag="1")] pub index: i64, /// The result of the request Entry identified by `index`. /// Depending on how requests are batched during execution, it is possible /// for one Entry to fail due to an error with another Entry. In the event /// that this occurs, the same error will be reported for both entries. - #[prost(message, optional, tag = "2")] + #[prost(message, optional, tag="2")] pub status: ::core::option::Option, } } @@ -826,34 +824,34 @@ pub struct CheckAndMutateRowRequest { /// applied. /// Values are of the form /// `projects//instances//tables/
`. - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub table_name: ::prost::alloc::string::String, /// This value specifies routing for replication. If not specified, the /// "default" application profile will be used. - #[prost(string, tag = "7")] + #[prost(string, tag="7")] pub app_profile_id: ::prost::alloc::string::String, /// Required. The key of the row to which the conditional mutation should be applied. - #[prost(bytes = "vec", tag = "2")] + #[prost(bytes="vec", tag="2")] pub row_key: ::prost::alloc::vec::Vec, /// The filter to be applied to the contents of the specified row. Depending /// on whether or not any results are yielded, either `true_mutations` or /// `false_mutations` will be executed. If unset, checks that the row contains /// any values at all. - #[prost(message, optional, tag = "6")] + #[prost(message, optional, tag="6")] pub predicate_filter: ::core::option::Option, /// Changes to be atomically applied to the specified row if `predicate_filter` /// yields at least one cell when applied to `row_key`. Entries are applied in /// order, meaning that earlier mutations can be masked by later ones. /// Must contain at least one entry if `false_mutations` is empty, and at most /// 100000. - #[prost(message, repeated, tag = "4")] + #[prost(message, repeated, tag="4")] pub true_mutations: ::prost::alloc::vec::Vec, /// Changes to be atomically applied to the specified row if `predicate_filter` /// does not yield any cells when applied to `row_key`. Entries are applied in /// order, meaning that earlier mutations can be masked by later ones. /// Must contain at least one entry if `true_mutations` is empty, and at most /// 100000. - #[prost(message, repeated, tag = "5")] + #[prost(message, repeated, tag="5")] pub false_mutations: ::prost::alloc::vec::Vec, } /// Response message for Bigtable.CheckAndMutateRow. @@ -861,7 +859,7 @@ pub struct CheckAndMutateRowRequest { pub struct CheckAndMutateRowResponse { /// Whether or not the request's `predicate_filter` yielded any results for /// the specified row. - #[prost(bool, tag = "1")] + #[prost(bool, tag="1")] pub predicate_matched: bool, } /// Request message for Bigtable.ReadModifyWriteRow. @@ -871,39 +869,39 @@ pub struct ReadModifyWriteRowRequest { /// applied. /// Values are of the form /// `projects//instances//tables/
`. - #[prost(string, tag = "1")] + #[prost(string, tag="1")] pub table_name: ::prost::alloc::string::String, /// This value specifies routing for replication. If not specified, the /// "default" application profile will be used. - #[prost(string, tag = "4")] + #[prost(string, tag="4")] pub app_profile_id: ::prost::alloc::string::String, /// Required. The key of the row to which the read/modify/write rules should be applied. - #[prost(bytes = "vec", tag = "2")] + #[prost(bytes="vec", tag="2")] pub row_key: ::prost::alloc::vec::Vec, /// Required. Rules specifying how the specified row's contents are to be transformed /// into writes. Entries are applied in order, meaning that earlier rules will /// affect the results of later ones. - #[prost(message, repeated, tag = "3")] + #[prost(message, repeated, tag="3")] pub rules: ::prost::alloc::vec::Vec, } /// Response message for Bigtable.ReadModifyWriteRow. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ReadModifyWriteRowResponse { /// A Row containing the new contents of all cells modified by the request. - #[prost(message, optional, tag = "1")] + #[prost(message, optional, tag="1")] pub row: ::core::option::Option, } -#[doc = r" Generated client implementations."] +/// Generated client implementations. 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::*; - #[doc = " Service for reading from and writing to existing Bigtable tables."] + /// Service for reading from and writing to existing Bigtable tables. #[derive(Debug, Clone)] pub struct BigtableClient { inner: tonic::client::Grpc, } impl BigtableClient { - #[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(dst: D) -> Result where D: std::convert::TryInto, @@ -916,8 +914,8 @@ pub mod bigtable_client { impl BigtableClient where T: tonic::client::GrpcService, - T::ResponseBody: Body + Send + Sync + 'static, T::Error: Into, + T::ResponseBody: Default + Body + Send + 'static, ::Error: Into + Send, { pub fn new(inner: T) -> Self { @@ -929,150 +927,171 @@ pub mod bigtable_client { interceptor: F, ) -> BigtableClient> where - F: FnMut(tonic::Request<()>) -> Result, tonic::Status>, - T: Service< + F: tonic::service::Interceptor, + T: tonic::codegen::Service< http::Request, Response = http::Response< >::ResponseBody, >, >, - >>::Error: - Into + Send + Sync, + , + >>::Error: Into + Send + Sync, { BigtableClient::new(InterceptedService::new(inner, interceptor)) } - #[doc = r" Compress requests with `gzip`."] - #[doc = r""] - #[doc = r" This requires the server to support it otherwise it might respond with an"] - #[doc = r" error."] + /// Compress requests with `gzip`. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] pub fn send_gzip(mut self) -> Self { self.inner = self.inner.send_gzip(); self } - #[doc = r" Enable decompressing responses with `gzip`."] + /// Enable decompressing responses with `gzip`. + #[must_use] pub fn accept_gzip(mut self) -> Self { self.inner = self.inner.accept_gzip(); self } - #[doc = " Streams back the contents of all requested rows in key order, optionally"] - #[doc = " applying the same Reader filter to each. Depending on their size,"] - #[doc = " rows and cells may be broken up across multiple responses, but"] - #[doc = " atomicity of each row will still be preserved. See the"] - #[doc = " ReadRowsResponse documentation for details."] + /// Streams back the contents of all requested rows in key order, optionally + /// applying the same Reader filter to each. Depending on their size, + /// rows and cells may be broken up across multiple responses, but + /// atomicity of each row will still be preserved. See the + /// ReadRowsResponse documentation for details. pub async fn read_rows( &mut self, request: impl tonic::IntoRequest, - ) -> Result>, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/google.bigtable.v2.Bigtable/ReadRows"); + ) -> Result< + tonic::Response>, + tonic::Status, + > { self.inner - .server_streaming(request.into_request(), path, codec) + .ready() .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/google.bigtable.v2.Bigtable/ReadRows", + ); + self.inner.server_streaming(request.into_request(), path, codec).await } - #[doc = " 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,"] - #[doc = " which can be used to break up the data for distributed tasks like"] - #[doc = " mapreduces."] + /// Returns a sample of row keys in the table. The returned row keys will + /// delimit contiguous sections of the table of approximately equal size, + /// which can be used to break up the data for distributed tasks like + /// mapreduces. pub async fn sample_row_keys( &mut self, request: impl tonic::IntoRequest, ) -> Result< - tonic::Response>, - tonic::Status, - > { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/google.bigtable.v2.Bigtable/SampleRowKeys"); + tonic::Response>, + tonic::Status, + > { self.inner - .server_streaming(request.into_request(), path, codec) + .ready() .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/google.bigtable.v2.Bigtable/SampleRowKeys", + ); + self.inner.server_streaming(request.into_request(), path, codec).await } - #[doc = " Mutates a row atomically. Cells already present in the row are left"] - #[doc = " unchanged unless explicitly changed by `mutation`."] + /// Mutates a row atomically. Cells already present in the row are left + /// unchanged unless explicitly changed by `mutation`. pub async fn mutate_row( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/google.bigtable.v2.Bigtable/MutateRow"); + let path = http::uri::PathAndQuery::from_static( + "/google.bigtable.v2.Bigtable/MutateRow", + ); self.inner.unary(request.into_request(), path, codec).await } - #[doc = " Mutates multiple rows in a batch. Each individual row is mutated"] - #[doc = " atomically as in MutateRow, but the entire batch is not executed"] - #[doc = " atomically."] + /// Mutates multiple rows in a batch. Each individual row is mutated + /// atomically as in MutateRow, but the entire batch is not executed + /// atomically. pub async fn mutate_rows( &mut self, request: impl tonic::IntoRequest, ) -> Result< - tonic::Response>, - tonic::Status, - > { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/google.bigtable.v2.Bigtable/MutateRows"); + tonic::Response>, + tonic::Status, + > { self.inner - .server_streaming(request.into_request(), path, codec) + .ready() .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/google.bigtable.v2.Bigtable/MutateRows", + ); + self.inner.server_streaming(request.into_request(), path, codec).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( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.bigtable.v2.Bigtable/CheckAndMutateRow", ); self.inner.unary(request.into_request(), path, codec).await } - #[doc = " 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"] - #[doc = " 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"] - #[doc = " time. The method returns the new contents of all modified cells."] + /// Modifies a row atomically on the server. The method reads the latest + /// existing timestamp and value from the specified columns and writes a new + /// entry based on pre-defined read/modify/write rules. The new value for the + /// timestamp is the greater of the existing timestamp or the current server + /// time. The method returns the new contents of all modified cells. pub async fn read_modify_write_row( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.bigtable.v2.Bigtable/ReadModifyWriteRow", diff --git a/storage-bigtable/proto/google.rpc.rs b/storage-bigtable/proto/google.rpc.rs index 807097efe9..07dabd8cb6 100644 --- a/storage-bigtable/proto/google.rpc.rs +++ b/storage-bigtable/proto/google.rpc.rs @@ -1,22 +1,22 @@ /// The `Status` type defines a logical error model that is suitable for /// 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\](). Each `Status` message contains /// 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 -/// [API Design Guide](https://cloud.google.com/apis/design/errors). +/// [API Design Guide](). #[derive(Clone, PartialEq, ::prost::Message)] pub struct Status { - /// The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. - #[prost(int32, tag = "1")] + /// The status code, which should be an enum value of \[google.rpc.Code][google.rpc.Code\]. + #[prost(int32, tag="1")] pub code: i32, /// A developer-facing error message, which should be in English. Any /// 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. - #[prost(string, tag = "2")] + /// \[google.rpc.Status.details][google.rpc.Status.details\] field, or localized by the client. + #[prost(string, tag="2")] pub message: ::prost::alloc::string::String, /// A list of messages that carry the error details. There is a common set of /// message types for APIs to use. - #[prost(message, repeated, tag = "3")] + #[prost(message, repeated, tag="3")] pub details: ::prost::alloc::vec::Vec<::prost_types::Any>, } diff --git a/storage-proto/Cargo.toml b/storage-proto/Cargo.toml index 445a08606b..f7d1a8d336 100644 --- a/storage-proto/Cargo.toml +++ b/storage-proto/Cargo.toml @@ -12,7 +12,7 @@ edition = "2021" [dependencies] bincode = "1.3.3" bs58 = "0.4.0" -prost = "0.9.0" +prost = "0.10.0" serde = "1.0.136" solana-account-decoder = { path = "../account-decoder", version = "=1.11.0" } solana-sdk = { path = "../sdk", version = "=1.11.0" } @@ -29,4 +29,4 @@ name = "solana_storage_proto" targets = ["x86_64-unknown-linux-gnu"] [build-dependencies] -tonic-build = "0.6.2" +tonic-build = "0.7.0" diff --git a/storage-proto/build.rs b/storage-proto/build.rs index 174b33aeaf..b1ea9903d4 100644 --- a/storage-proto/build.rs +++ b/storage-proto/build.rs @@ -11,7 +11,6 @@ fn main() -> Result<(), std::io::Error> { tonic_build::configure() .build_client(true) .build_server(false) - .format(true) .type_attribute( "TransactionErrorType", "#[cfg_attr(test, derive(enum_iterator::IntoEnumIterator))]",