{"repo":"elixir-grpc/grpc","free":true,"listed":false,"github":"https://github.com/elixir-grpc/grpc","clone":"git clone https://github.com/elixir-grpc/grpc.git","description":"An Elixir implementation of gRPC","language":"Elixir","stars":1519,"topics":["grpc","elixir","grpc-elixir","rpc","http2","protobuf","google-protocol-buffers","proto"],"license":"Apache-2.0","category":"networking-infra","readme_excerpt":"gRPC Elixir gRPC Elixir is a full-featured Elixir implementation of the gRPC protocol, supporting unary and streaming RPCs, interceptors, HTTP transcoding, and TLS. This version adopts a unified stream-based model for all types of calls. Table of contents - Installation - Protobuf Code Generation - Server Implementation - Unary RPC using Stream API - Server-Side Streaming - Bidirectional Streaming - Effects and Error Handling - Side Effects - Recovery from errors - Unified Error Matching and Propagation - Application Startup - Client Usage - Basic Connection and RPC - Using Interceptors - Target Schemes and Resolvers - Supported formats - Example (DNS) - Example (Unix socket) - Compression and Metadata - Client Adapters - Using Mint Adapter - HTTP Transcoding - CORS - Features - Benchmark - Contributing Installation The package can be installed as: Note (since v1.0.0-rc.1) : To use the server, you must add the :grpc server dependency to your mix.exs instead of the older :grpc package. Protobuf Code Generation Use protoc with protobuf elixir plugin or using protobuf generate hex package to generate the necessary files. 1. Write your protobuf file: 2. Compile protos (protoc + elixir plugin): Server Implementation All RPC calls must be implemented using the stream-based API, even for unary requests. Note : The old API was deprecated based on GRPC.Server.send reply/2 and direct struct returns was deprecated as of version 0.10.x . Unary RPC using Stream API Server-Side Streaming B","default_branch":null,"files":null,"tree":[],"storefront":"/r/elixir-grpc","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/elixir-grpc/grpc/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}