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:47:56 UTC
[Thrift Wiki] Trivial 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
------------------------------------------------------------------------------
== Implementation suggestions ==
=== Encode i16, i32 and i64 types saved as variable size integers ===
+ ||Suggestion||Pros||Cons||
- * Base 128 + zigzag, borrow from protocol buffers?
+ ||Base 128 + zigzag, borrow from protocol buffers?||||||
=== Remove / reduce the size of field prefix tags ===
+ ||Suggestion||Pros||Cons||
- * Reduce from 3 bytes per field to 1 byte, see [http://publists.facebook.com/pipermail/thrift/2008-January/000275.html mail] (retains versioning support)
+ ||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
+ ||Drop field prefix altogether||||||
- === New types ===
+ === Type changes ===
+ ||Suggestion||Pros||Cons||
- * Unsigned integers
+ ||Unsigned integers||||||
-
- === Type annotations ===
- * Allows us to specify encoding details about the fields/types that the protocols may or may not use
+ ||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]
+ [http://publists.facebook.com/pipermail/thrift/2008-January/000275.html 2008 jan mail thread][[BR]]
- [https://issues.apache.org/jira/browse/THRIFT-110 jira ticket]
+ [https://issues.apache.org/jira/browse/THRIFT-110 jira ticket][[BR]]
+ [http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/cpp/src/protocol/TDenseProtocol.h?view=log TDenseProtocol][[BR]]