27个版本

0.8.3 2021年3月28日
0.8.2 2020年9月20日
0.8.1 2020年5月25日
0.6.2 2020年1月14日
0.0.1 2016年8月23日

#13 in #developing

Download history 3109/week @ 2024-03-14 2910/week @ 2024-03-21 4127/week @ 2024-03-28 2507/week @ 2024-04-04 1740/week @ 2024-04-11 2242/week @ 2024-04-18 5972/week @ 2024-04-25 5869/week @ 2024-05-02 6429/week @ 2024-05-09 5756/week @ 2024-05-16 5368/week @ 2024-05-23 5860/week @ 2024-05-30 5955/week @ 2024-06-06 5690/week @ 2024-06-13 5565/week @ 2024-06-20 3793/week @ 2024-06-27

22,097 每月下载量
用于 少于 17 crates

MIT/Apache

120KB
3K SLoC

grpc-rust

项目已停止开发;新的项目永生

gRPC团队正在 开发新的Rust版gRPC实现grpc crate名称已转让给他们。

此代码不再维护。

原始README.md

Build Status License crates.io

gRPC协议的Rust实现,正在开发中。

有关FAQ中的一些开发问题。

当前状态

基本可用,但不适合生产使用。

请参见 grpc-examples/src/bin/greeter_{client,server}.rs。可以用 go客户端 进行测试。

# start greeter server implemented in rust
$ cargo run --bin greeter_server

# ... or start greeter server implemented in go
$ go get -u google.golang.org/grpc/examples/helloworld/greeter_client
$ greeter_server

# start greeter client implemented in rust
$ cargo run --bin greeter_client rust
> message: "Hello rust"

# ... or start greeter client implemented in go
$ go get -u google.golang.org/grpc/examples/helloworld/greeter_client
$ greeter_client rust
> 2016/08/19 05:44:45 Greeting: Hello rust

路由指南

路由指南 示例实现位于 grpc-examples 文件夹

如何生成Rust代码

有两种方式从.proto文件生成Rust代码

使用 protoc-rust-grpc crate以程序方式调用protoc

(推荐)

请参阅 protoc-rust-grpc crate 中的readme。

使用 protoc 命令和 protoc-gen-rust-grpc 插件

readme

在项目中使用生成的protos

在Cargo.toml中

[dependencies]
grpc            = "~0.8"
protobuf        = "2.23"
futures         = "~0.3"

[build-dependencies]
protoc-rust-grpc = "~0.8"

待办事项

  • 修复性能
  • 更多测试
  • 特别是,添加更多兼容性测试,它们位于 interop 目录中
  • 修复源代码中的所有待办事项
  • grpc-rs — Rust中gRPC的替代实现,C++实现的包装器
  • httpbis — HTTP/2的实现,本实现使用
  • rust-protobuf — Google Protocol Buffers的实现

依赖关系

~7MB
~113K SLoC