package grpc

  1. Overview
  2. Docs

Description

This library builds some of the signatures and implementations of gRPC functionality. This is used in the more specialised package grpc-lwt which has more machinery, however this library can also be used to do some bits yourself.

Published: 28 Oct 2022

README

OCaml gRPC

Pure OCaml implementation of gRPC over HTTP2.

Supported features:

  • RPCs: unary, server streaming, client streaming, bidirectional streaming

  • Client (Lwt and Async), server (Lwt only)

To get started, browse the documentation and the examples:

  • examples/greeter-{client,server}-{async,lwt} implements a basic "Hello world" service using ocaml-protoc for Protobuf serialization

  • examples/greeter-{client-tls-async,server-ssl-lwt} showcases the greeter service over a secure connection

  • examples/etcd interfaces with an external etcd server and shows how to use ocaml-protoc-plugin for Protobuf serialization

Acknowledgments

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.

Dependencies (5)

  1. ppx_deriving
  2. h2 >= "0.9.0"
  3. uri >= "4.0.0"
  4. ocaml >= "4.08"
  5. dune >= "2.7"

Dev Dependencies (1)

  1. odoc with-doc

Used by (3)

  1. grpc-async < "0.2.0"
  2. grpc-bench
  3. grpc-lwt < "0.2.0"

Conflicts

None