thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dane Mason <>
Subject Thrift in an embedded setting
Date Sat, 09 Jan 2016 23:02:53 GMT
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.



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