現時点では、gRPCはRustに対応していないらしい。
ただ、tonicというクレートを使うと、RustでもgRPCを扱える。
tonicを使うために、Cargo.tomlに以下の設定を追加する。
〜 [dependencies] prost = "0.13.3" tonic = "0.12.3" tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] } [build-dependencies] tonic-build = "0.12.3"
tonic本体と、ビルドに使用するtonic-buildを追加する。
また、protobufをビルドして生成された構造体を使う為にprostを使用する。
それと、tokioも追加しておく。
そして、protoファイルをビルドする為のbuild.rsを用意する。
fn main() -> Result<(), Box<dyn std::error::Error>> { tonic_build::compile_protos("proto/example.proto")?; Ok(()) }