Hi Dane and Tomas, Great to hear we have a few people willing to pull the oars. I'll get our cpp2 lib sanitized this week and post a jira/patch in a few days. Then we can take it from there.
Best, Randy On Mon, Jan 11, 2016 at 11:14 AM, Dane Mason <[email protected]> wrote: > 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 > > > > > > > > > > > > > > >
