grpcio 0.2.3

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

`gRPC-rs` is a Rust wrapper of [gRPC Core](https://github.com/grpc/grpc). [gRPC](http://www.grpc.io) is a high performance, open source universal RPC framework that puts mobile and HTTP/2 first.

[![Crates.io](https://img.shields.io/crates/v/grpcio.svg?maxAge=2592000)](https://crates.io/crates/grpcio)
[![docs.rs](https://docs.rs/grpcio/badge.svg)](https://docs.rs/grpcio)
[![Build Status](https://travis-ci.org/pingcap/grpc-rs.svg)](https://travis-ci.org/pingcap/grpc-rs)
[![Build status](https://ci.appveyor.com/api/projects/status/1cofa3nih5fm2kb0/branch/master?svg=true)](https://ci.appveyor.com/project/busyjay/grpc-rs/branch/master)

Status
------
This project is still under development. The following features with the check marks are supported:

- [x] Basic asynchronous unary/steaming call 
- [x] SSL
- [x] Generic call
- [x] Connection level compression
- [x] Interoperability test
- [x] QPS benchmark
- [ ] Custom metadata
- [x] Health check
- [ ] Reflection
- [ ] Authentication
- [ ] Load balance

Prerequisites
-------------

- 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+

Build
-----

```
$ cargo build
```

Usage
-----

To generate the sources from proto files:

Option 1 - Manual Generation
----------------------------

1. Install the protobuf compiler:

```
$ cargo install protobuf
```

2. Install the gRPC compiler:

```
$ cargo install grpcio-compiler
```

3. 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
via your `build.rs` by using [protoc-grpcio](https://crates.io/crates/protoc-grpcio).

For more information and examples see the
[README](https://github.com/mtp401/protoc-grpcio/blob/master/README.md).

Performance
-----------
See [benchmark](https://github.com/pingcap/grpc-rs/tree/master/benchmark) to find out how to run a benchmark by yourself.