You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by Apache Wiki <wi...@apache.org> on 2008/08/22 00:40:16 UTC
[Thrift Wiki] Update of "New compact binary protocol" by johanoskarsson
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Thrift Wiki" for change notification.
The following page has been changed by johanoskarsson:
http://wiki.apache.org/thrift/New_compact_binary_protocol
New page:
== Description ==
There's been numerous discussion on how to implement a new more compact binary protocol. The discussions become hard to follow after a while so this page is intended to be used as an easy to use summary that can later be formalized into different options and finally become a specification. Help needed to fill this page with further details, suggestions and pros/cons for each suggestiong.
== Implementation suggestions ==
=== Encode i16, i32 and i64 types saved as variable size integers ===
* Base 128 + zigzag, borrow from protocol buffers?
=== Remove / reduce the size of field prefix tags ===
* Reduce from 3 bytes per field to 1 byte, see [http://publists.facebook.com/pipermail/thrift/2008-January/000275.html mail] (retains versioning support)
* Drop field prefix altogether
=== New types ===
* Unsigned integers
=== Type annotations ===
* Allows us to specify encoding details about the fields/types that the protocols may or may not use
== Information sources ==
[http://publists.facebook.com/pipermail/thrift/2008-January/000275.html 2008 jan mail thread]
[https://issues.apache.org/jira/browse/THRIFT-110 jira ticket]