gRPC team is developing shiny new gRPC implementation in Rust,
grpc
crate name is transferred to them.
This code is no longer maintained.
Rust implementation of gRPC protocol, under development.
Some development questions in FAQ.
It basically works, but not suitable for production use.
See grpc-examples/src/bin/greeter_{client,server}.rs
. It can be tested
for example with go client:
# start greeter server implemented in rust
$ cargo run --bin greeter_server
# ... or start greeter server implemented in go
$ go get -u google.golang.org/grpc/examples/helloworld/greeter_client
$ greeter_server
# start greeter client implemented in rust
$ cargo run --bin greeter_client rust
> message: "Hello rust"
# ... or start greeter client implemented in go
$ go get -u google.golang.org/grpc/examples/helloworld/greeter_client
$ greeter_client rust
> 2016/08/19 05:44:45 Greeting: Hello rust
Route guide example implementation in grpc-rust is in grpc-examples folder.
There are two ways to generate rust code from .proto files
(Recommended)
Have a look at readme in protoc-rust-grpc crate.
In Cargo.toml:
[dependencies]
grpc = "~0.8"
protobuf = "2.23"
futures = "~0.3"
[build-dependencies]
protoc-rust-grpc = "~0.8"
- Fix performance
- More tests
- In particular, add more compatibility tests, they live in
interop
directory - Fix all TODO in sources
- grpc-rs — alternative implementation of gRPC in Rust, a wrapper to C++ implementation
- httpbis — implementation of HTTP/2, which is used by this implementation of gRPC
- rust-protobuf — implementation of Google Protocol Buffers