HI Allen,

great to hear there's progress!

I have to admit I haven't looked at the state of your code base. If at least 
binary is implemented working, plus framed transport, that would be Good 
Enoughâ„¢ for a first merge, Compact and JSON would be really nice to have, 
but they can be integrated in subsequent patches. I would not consider this 
part of your list a blocker.

> thrift-compiler side is that "type" be considered a reserved word.

Is that the only conflict you experience? Usually there are a lot more, and 
the exact list depends very much on the language. OTOH "type" is a common 
one, that might justify adding it to the global list. Is there a patch or PR 
for that?


Have fun.
JensG


-----Ursprüngliche Nachricht----- 
From: Allen George
Sent: Sunday, December 18, 2016 6:12 PM
To: [email protected]
Subject: Update on Rust Thrift Generation

Hi everyone -

Just wanted to send a quick update on the progress of the Rust Thrift
code generation. I've been working on it for the last couple of months
and have implemented most of it. What remains:

- derived services
- struct constants
- docstring generation
- compact protocol

Of the above, "derived services" are the biggest worry. Rust is not an
object-oriented language so implementing this could be...quite
involved and require some rework of the generated code. Other than
that, there's a lot to do to clean up the code, add comments,
documentation and unit tests to the underlying rust library. Finally,
the only thing that I would really like to see change on the
thrift-compiler side is that "type" be considered a reserved word.

Here's the auto-gen code for ThriftTest.thrift:
https://gist.github.com/allengeorge/5e602bf40ba68ebe0eb2d3117b5d943d

All my work is against thrift-0.10.0, and I've verified that
framed/buffered/binary works with TestThrift.thrift against all the
clients I'm able to compile on my local machine (only D and Lua are
missing). I'm happy to work with everyone to get the code up to snuff
and - ideally! - merged into Thrift proper when missing pieces are
completed.

Cheers,
Allen

Terminal Musings: http://www.allengeorge.com/
Raft in Java: https://github.com/allengeorge/libraft/
Twitter: https://twitter.com/allenageorge/ 

Reply via email to