thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dane Mason <danem.ma...@gmail.com>
Subject Re: Thrift in an embedded setting
Date Sun, 10 Jan 2016 02:20:13 GMT
Sorry I should have been more clear. C++ is fine, but the boost dependency
is problematic.

Dane

On Saturday, January 9, 2016, Randy Abernethy <randy.abernethy@gmail.com>
wrote:

> Do you need a C impel or can you use C++11 on the embedded sys?
>
> On Saturday, January 9, 2016, Dane Mason <danem.mason@gmail.com
> <javascript:;>> 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
> >
>

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