gRPC-rs
is a Rust wrapper of gRPC Core. gRPC is a high performance, open source universal RPC framework that puts mobile and HTTP/2 first.
This project is still under development. The following features with the check marks are supported:
- Basic asynchronous unary/steaming call
- SSL
- Generic call
- Connection level compression
- Interoperability test
- QPS benchmark
- Custom metadata
- Health check
- Reflection
- Authentication
- 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
- yasm
- Visual Studio 2015+
$ cargo build
To generate the sources from proto files:
- 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.1"
See benchmark to find out how to run a benchmark by yourself.