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]