I’m pleased to announce the release of capnp-rpc 0.4.0, an OCaml implementation of the Cap’n Proto RPC specification.
If you haven’t used the library before, please see the documentation and tutorial. Cap’n Proto RPC aims to provide secure, efficient, typed communications between multiple parties.
This library is now being used to build ocaml-ci, where it is used for all communication between the web frontend and backend services, and to provide a command-line client.
Main changes since v0.3
Wrap errors with the
`Capnptag to make it easier to compose with other types of error.
Prefix all command-line options with
The old names were confusing for applications that supported other protocols too (e.g. a web server).
This automatically calls
Cap_filemodule to load and save
In particular, this ensures that saved cap files get a mode of
0o600, since they contain secrets.
Export cmdliner network address parsing.
This is useful if you don’t want to use the default option parsing.
For example, if you want to make Cap’n Proto an optional feature of your program.
uint(which is deprecated) to the newer
The latest version of
uintis just a wrapper around
so this shouldn’t break anything if you are using the latest version.
Put cmdliner options in their own man-page section.
Capnp_rpc_unix.manpage_capnp_optionsto control where in your man-page they appear.
SO_KEEPALIVEfor TCP connections.
For use with Docker’s libnetwork, try something like this in your
sysctls: - 'net.ipv4.tcp_keepalive_time=60'