Re: [capnproto] Use with RTOS-based Embedded Systems

2023-02-13 Thread Keir Mierle
I realize this is a Cap'n Proto list, but I thought I'd send this along in case it's useful. My team does microcontroller projects and ended up building a custom protocol buffer library just for embedded projects due to the code size issue. It is challenging balancing the tradeoffs on these systems

Re: [capnproto] Use with RTOS-based Embedded Systems

2023-02-13 Thread Mikhail Natalenko
Hi Kenny, Sorry to bother you. I'm looking for a similar solution, could you share your experience? Kind regards, Mikhail четверг, 10 июня 2021 г. в 02:47:30 UTC+4, Kenny Koller: > That sounds promising! > > On Wed, Jun 9, 2021 at 3:32 PM Kenton Varda wrote: > >> Hi Kenny, >> >> Avoiding ma

Re: [capnproto] Use with RTOS-based Embedded Systems

2021-06-09 Thread Kenny Koller
That sounds promising! On Wed, Jun 9, 2021 at 3:32 PM Kenton Varda wrote: > Hi Kenny, > > Avoiding malloc should be easy. With custom subclasses of MessageReader > and MessageBuilder, you can do your memory management any way you want. > Cap'n Proto's serialization layer is very good about avoid

Re: [capnproto] Use with RTOS-based Embedded Systems

2021-06-09 Thread 'Kenton Varda' via Cap'n Proto
Hi Kenny, Avoiding malloc should be easy. With custom subclasses of MessageReader and MessageBuilder, you can do your memory management any way you want. Cap'n Proto's serialization layer is very good about avoiding memory allocation unless you ask for it. (The RPC layer, on the other hand, does

Re: [capnproto] Use with RTOS-based Embedded Systems

2021-06-09 Thread Kenny Koller
Thank you Kenton. I certainly understand that the "big server" use-case is far more common (embedded software engineers everywhere are weeping in their Cap'n Crunch**) and I appreciate the clarification regarding CAPNP_LITE. Personally, I find that code space is much less of a concern these days

Re: [capnproto] Use with RTOS-based Embedded Systems

2021-06-09 Thread 'Kenton Varda' via Cap'n Proto
Hi Kenny, The code is fairly modular, so I think it should be possible to pull out a subset that has a reasonably small code footprint. However, this is admittedly not a well-traveled path, so you'll be a bit on your own. The maintainers of the C++ implementation (such as myself) mainly use it on