[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MirageOS-devel] Update on capnp-rpc

As I mentioned in Wednesday's catch-up, I've been continuing to work
on Cap'n Proto RPC support.

The current status is that level 1 support is now complete, and I've
added a tutorial and some helpers to make it easy to use it in Unix
processes. See:


Next on my TODO list:

1. The fuzz tests found a race, where messages may get delivered out
of order in some (convoluted) cases.
I asked on the capnp list, and it seems that the C++ reference
implementation doesn't handle this quite right either.
We're investigating a fix, but it's unlikely you'll hit the problem.
See: https://github.com/mirage/capnp-rpc/issues/59

2. The API for building requests and responses has a lot of
boilerplate. I'd like to simplify this by modifying capnp-ocaml to
allow attaching capabilities to messages without requiring a separate

3. There are some (minor) Unix dependencies in the library and in
capnp-ocaml, which need moving out so we can use it in unikernels.

4. Start on level 2 support, which will require the library to be able
to establish secure connections. Currently, it doesn't do any crypto
and so the helpers only allow connections over Unix-domain sockets for

I'd be interested in feedback from anyone who wants to try it!

talex5 (GitHub/Twitter)        http://roscidus.com/blog/
GPG: 5DD5 8D70 899C 454A 966D  6A51 7513 3C8F 94F6 E0CC

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.