grpcio 0.1.0

The rust language implementation of gRPC, base on the gRPC c core library.
Documentation

gRPC-rs

Build Status Build status

The Rust wrapper of gRPC Core. gRPC is a high performance, open source, general RPC framework that puts mobile and HTTP/2 first.

Status

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.

Prerequisites

  • Cmake 3.8.0
  • Gcc (or Clang)
  • Go (to build ssl support) >=1.7
  • Rust >= 1.18.0

Build

$ cargo build --all

Usage

To generate the sources from proto files:

  1. Install protobuf compiler.
$ cargo install protobuf
  1. Install gRPC compiler.
$ cargo install --git https://github.com/pingcap/grpc-rs.git grpc-compiler
  1. 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"

Performance

See benchmark to find out how to run a benchmark by yourself.