Hey Randy, That sounds perfect for our use case. I would love to contribute. Let me know when you have more details.
Dane On Sun, Jan 10, 2016 at 9:44 AM, Randy Abernethy <[email protected]> wrote: > Hey Dane, > > My shop has a C++11 (no boost) language implementation for thrift. We have > only built out the generator (--gen cpp2) TBinaryProtocol, > TCompactProtocol, framing and basic socket transports. I have tried to get > some help cleaning this up for public consumption but so far no takers. > Also other quarters have threatened to post such a code base which has > caused us to hold off (don't want multiple versions of this stuff in the > trunk). If you are willing to contribute I'll try to package things up for > a commit this week so that we can get the community to pitch in and finish > off a basic C++11 lib. Should work great for your purposes (which is > exactly what we use it for). > > Best, > Randy > > On Sat, Jan 9, 2016 at 6:20 PM, Dane Mason <[email protected]> wrote: > > > Sorry I should have been more clear. C++ is fine, but the boost > dependency > > is problematic. > > > > Dane > > > > On Saturday, January 9, 2016, Randy Abernethy <[email protected] > > > > wrote: > > > > > Do you need a C impel or can you use C++11 on the embedded sys? > > > > > > On Saturday, January 9, 2016, Dane Mason <[email protected] > > > <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 > > > > > > > > > >
