stepancheg / Grpc Rust
Licence: mit
Rust implementation of gRPC
Stars: ✭ 1,139
Programming Languages
rust
11053 projects
Projects that are alternatives of or similar to Grpc Rust
Grpcc
A gRPC cli interface for easy testing against gRPC servers
Stars: ✭ 1,078 (-5.36%)
Mutual labels: grpc, protobuf, http2
Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (-43.2%)
Mutual labels: grpc, protobuf
Protoreflect
Reflection (Rich Descriptors) for Go Protocol Buffers
Stars: ✭ 651 (-42.84%)
Mutual labels: grpc, protobuf
Protoc Gen Twirp swagger
Swagger generator for twirp
Stars: ✭ 54 (-95.26%)
Mutual labels: grpc, protobuf
Proteus
Generate .proto files from Go source code.
Stars: ✭ 593 (-47.94%)
Mutual labels: grpc, protobuf
Go Micro Services
HTTP up front, Protobufs in the rear
Stars: ✭ 853 (-25.11%)
Mutual labels: grpc, protobuf
Prototool
Your Swiss Army Knife for Protocol Buffers
Stars: ✭ 4,932 (+333.01%)
Mutual labels: grpc, protobuf
Swell
Swell: API development tool that enables developers to test endpoints served over streaming technologies including Server-Sent Events (SSE), WebSockets, HTTP2, GraphQL, and gRPC.
Stars: ✭ 517 (-54.61%)
Mutual labels: grpc, http2
Grpclib
Pure-Python gRPC implementation for asyncio
Stars: ✭ 615 (-46.01%)
Mutual labels: grpc, protobuf
Grpcurl
Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
Stars: ✭ 6,149 (+439.86%)
Mutual labels: grpc, protobuf
Servicetalk
A networking framework that evolves with your application
Stars: ✭ 656 (-42.41%)
Mutual labels: grpc, http2
Protobuf
[Looking for new ownership] Protocol Buffers for Go with Gadgets
Stars: ✭ 4,998 (+338.81%)
Mutual labels: grpc, protobuf
Rpc Thunderdome
A comparison between Proteus RPC and other commonly used RPC frameworks
Stars: ✭ 22 (-98.07%)
Mutual labels: grpc, protobuf
Grpc Contract
A tool to generate the grpc server code for a contract
Stars: ✭ 40 (-96.49%)
Mutual labels: grpc, protobuf
grpc-rust
Rust implementation of gRPC protocol, under development.
Some development questions in FAQ.
Current status
It basically works, but not suitable for production use.
See grpc-examples/src/bin/greeter_{client,server}.rs
. It can be tested
for example with go client:
# 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
Route guide
Route guide example implementation in grpc-rust is in grpc-examples folder.
How to generate rust code
There are two ways to generate rust code from .proto files
protoc-rust-grpc
crate
Invoke protoc programmatically with (Recommended)
Have a look at readme in protoc-rust-grpc crate.
protoc
command and protoc-gen-rust-grpc
plugin
With
Use generated protos in your project:
In Cargo.toml:
[dependencies]
grpc = "~0.8"
protobuf = "~2"
futures = "~0.3"
[build-dependencies]
protoc-rust-grpc = "~0.8"
TODO
- Fix performance
- More tests
- In particular, add more compatibility tests, they live in
interop
directory - Fix all TODO in sources
Related projects
- grpc-rs — alternative implementation of gRPC in Rust, a wrapper to C++ implementation
- httpbis — implementation of HTTP/2, which is used by this implementation of gRPC
- rust-protobuf — implementation of Google Protocol Buffers
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].