[0] https://capnproto.org/news/2013-12-12-capnproto-0.4-time-tra...
There's also "lite mode", which #ifdef's out all the dynamic stuff:
./configure --disable-reflection
Although it isn't as aggressive as it could be. We should fix that. I filed an issue:https://github.com/capnproto/capnproto/issues/634
There is also a C implementation of capnp which I believe is designed for small footprint, FWIW.
It’d be useful to be able to just use the serialization protocol. Currently I’m using MsgPack which works decently well to get data from embedded cores but I’d prefer typed structures. Thanks for the feedback!
Although KJ style prefers exceptions, the library is carefully written (and tested) to work with -fno-exceptions. KJ_ASSERT/KJ_REQUIRE invocations (which normally throw exceptions) can define a fallback path to use in the case that exceptions are disabled, usually involving returning some sort of dummy value. You can also register a per-thread exception callback which will be called on all exceptions before the fallback starts (or before aborting, if there is no fallback).