All Projects → stepancheg → Grpc Rust

stepancheg / Grpc Rust

Licence: mit
Rust implementation of gRPC

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Grpc Rust

Grpc
An Elixir implementation of gRPC
Stars: ✭ 858 (-24.67%)
Mutual labels:  grpc, protobuf, http2
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
Multi V2ray
v2ray/xray多用户管理部署程序
Stars: ✭ 5,382 (+372.52%)
Mutual labels:  http2, grpc
Proteus
Generate .proto files from Go source code.
Stars: ✭ 593 (-47.94%)
Mutual labels:  grpc, protobuf
Grpc.jl
gRPC framework for Julia
Stars: ✭ 18 (-98.42%)
Mutual labels:  grpc, protobuf
Polyglot
A universal grpc command line client
Stars: ✭ 488 (-57.16%)
Mutual labels:  grpc, protobuf
Grpc Jersey
gRPC<->Jersey bridge
Stars: ✭ 23 (-97.98%)
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
Nrpc
nRPC is like gRPC, but over NATS
Stars: ✭ 440 (-61.37%)
Mutual labels:  grpc, protobuf
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

Build Status License crates.io

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

Invoke protoc programmatically with protoc-rust-grpc crate

(Recommended)

Have a look at readme in protoc-rust-grpc crate.

With protoc command and protoc-gen-rust-grpc plugin

Readme

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].