The Rust wrapper of gRPC Core. gRPC is a high performance, open source, general RPC framework that puts mobile and HTTP/2 first.
This project is still under developement, not all features are supported.
- Basic asynchronous unary/steaming call
- SSL
- Generic call
- Connetion level compression
- Interoperability test
- QPS benchmark
- Custom metadata
- Health check
- Reflection
- Authentication
- Load balance
Only linux and macOS are tested.
- Cmake 3.8.0
- Gcc (or Clang)
- Go (to build ssl support) >=1.7
- Rust >= 1.18.0
$ cargo build --all
To generate the sources from proto files:
- Install protobuf compiler.
$ cargo install protobuf
- Install gRPC compiler.
$ cargo install --git https://github.com/pingcap/grpc-rs.git grpc-compiler
- Generate sources.
$ protoc --rust_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_rust_plugin` example.proto
To include this project as a dependency:
[dependencies.grpc]
git = "https://github.com/pingcap/grpc-rs.git"
See benchmark to find out how to run a benchmark by yourself.