Skip to content
forked from tikv/grpc-rs

The rust language implementation of gRPC. HTTP/2 based RPC

License

Notifications You must be signed in to change notification settings

wushukai/grpc-rs

 
 

Repository files navigation

gRPC-rs

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.

About

The rust language implementation of gRPC. HTTP/2 based RPC

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 78.1%
  • Protocol Buffer 11.9%
  • C 10.0%