Pure OCaml implementation of gRPC over HTTP2.
Supported features:
- RPCs: unary, server streaming, client streaming, bidirectional streaming
- Client (Eio, Lwt and Async), server (Eio, Lwt and Async)
To get started, browse the documentation and the examples:
examples/greeter-{client,server}-{async,lwt,eio}
implements a basic "Hello world" service usingocaml-protoc-plugin
for Protobuf serializationexamples/greeter-{client-tls-async,server-ssl-lwt}
showcases the greeter service over a secure connectionexamples/etcd
interfaces with an externaletcd
server and shows how to useocaml-protoc-plugin
for Protobuf serializationexamples/routeguide
implements the "Route Guide" service using Eio andocaml-protoc-plugin
for Protobuf serialisation.examples/routeguide-{client,server}-{async,lwt}
showcases the Route Guide service using Async and LWT.
- The helloworld tutorial provides a basic example of using gRPC with LWT, perfect for first time users!
- The routeguide tutorial provides a complete example of using gRPC with Eio and all its features.
This MVP version of this library was built by @jeffa5. Andrew gratiously passed the baton to our team to develop it into a full fledged production-ready implementation.