thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Seto <>
Subject Re: Thrift in an embedded setting
Date Mon, 11 Jan 2016 19:46:58 GMT
I've been watching this thread because I also use thrift in an embedded
setting, although we use it on top of embedded Linux since we didn't want
to deal with trying to port it to actual "bare metal" embedded.

Anyway, I have nothing real to contribute at the moment, but I will say
that a proper RPC package for bare metal embedded targets is /sorely/
needed. It'd be awesome to see Thrift or something like it running bare
metal, as long as the overhead can be reasonably small.


On Sat, Jan 9, 2016 at 5:02 PM, Dane Mason <> wrote:

> Hi, I'm part of a project that makes heavy use of Thrift and it's RPC
> functionality across Java, C++, and Python. This project now needs to
> incorporate an embedded component with 256kb ram running on a CortexM3.
> After a bit of research, I've decided that there is no straight forward way
> of using Thrift in this context out of the box. We are not willing to bring
> GLib in as a dependency, nor are we willing to use C++ and Boost. What we
> simply need is a way to reuse the binary protocol and most importantly, the
> IDL used throughout the rest of the project. We are using many large
> structs, so maintaining 4 hand written implementations across our 4
> languages doesn't make sense.
> Some solutions I've considered:
> 1. Manually write code serialize and deserialize the thrift binary
> protocol.
> - We are dealing with many large structs, and ensuring correctness of this
> handwritten code is tedious and error prone.
> 2. Use a JSON protocol and use existing JSON parsers on the C side.
> - Again error prone, may not be performant enough for our use case.
> 3. *Possibly *create something like a "TFlatBufferProtocol"  (or any other
> Serialization format with an IDL)
> - I haven't looked into this in depth, it seems messy and hard to maintain.
> I'd appreciate any advice you all have to offer here.
> Thanks,
> Dane

Chris Seto
Check out my blog!

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message