This project is still under development. The following features with the check marks are supported:
- Basic asynchronous unary/steaming call
- Generic call
- Connection level compression
- Interoperability test
- QPS benchmark
- Custom metadata
- Health check
- Load balance
- CMake >= 3.8.0
- Rust >= 1.19.0
- If you want to enable secure feature, Go (>=1.7) is required.
For Linux and MacOS, you also need to install gcc (or clang) too.
For Windows, you also need to install following software:
- Active State Perl
- Visual Studio 2015+
$ cargo build
To generate the sources from proto files:
Option 1 - Manual Generation
- Install the protobuf compiler:
$ cargo install protobuf
- Install the gRPC compiler:
$ cargo install grpcio-compiler
- Generate the sources:
$ protoc --rust_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_rust_plugin` example.proto
To include this project as a dependency:
[dependencies] grpcio = "0.2"
Option 2 - Programmatic Generation
Programmatic generation can be used to generate Rust modules from proto files
build.rs by using protoc-grpcio.
For more information and examples see the README.
See benchmark to find out how to run a benchmark by yourself.