livery_grpc

gRPC for Erlang, built on the livery HTTP/2 stack. Server side and client side. You write plain Erlang; the gRPC wire format is generated from your .proto files and handled for you.

See docs/getting-started.md to build and call a service, the basics tutorial for a full RouteGuide example, and doc/features.md for the plan. livery_grpc is a companion to livery.

Working today: all four call types (unary, server-streaming, client-streaming, bidirectional) on both the server and client, deadlines, error details, gzip, livery middleware as interceptors, the standard health service, gRPC-Web (binary and text), and server reflection (reflection => true, so grpcurl/Postman discover the API with no local .proto).

Why

gRPC is HTTP/2 plus length-prefixed protobuf frames plus status in trailers. livery already ships an HTTP/2 client and server with trailers and streaming, so gRPC runs natively on it, both directions, without an extra transport.

Layout

Build

make compile
make check

livery is consumed from _checkouts/livery until it is published to hex.

License

Apache-2.0.