20

Thrift 形式は比較的広く使用されています (そしてプロジェクトはまだ生きています) が、基になるデータ形式の仕様を見つけることができませんでした。または、明らかに少なくとも 2 つの形式があることを考えると、形式。標準的なもの、およびコンパクトなフォーマット。

その幅広い使用法を考えると、それが私の貧弱なGoogle-fuであり、仕様または仕様が存在することを願っています(ソースコード外)。もしそうなら、共有してください!

編集: Java ソース コードは、形式を理解するのにそれほど悪くはありません。TBinaryProtocol.java と TCompactBinaryProtocol.java を参照してください。生成されたクラス (TBase を拡張する) によって呼び出されるプリミティブを含む

EDIT2:フォーマット仕様は含まれていませんが、「欠落しているガイド」は読みやすいです。

4

3 に答える 3

13

私は同じ問題を抱えていたので、Thrift バイナリとコンパクト プロトコルの仕様を書くことにしました。

ここで見つけることができます: https://erikvanoosten.github.io/thrift-missing-specification/

于 2016-10-04T14:53:12.277 に答える
12

Thrift メッセージの形式は、選択したシリアライゼーション プロトコルによって異なります。TBinaryProtocol、TCompactProtocol、TJSONProtocol、およびその他のあいまいなオプションを含む多くのプロトコルのいずれかを使用して、Thrift オブジェクトをシリアル化できます。このプロトコルは、元のThrift ホワイトペーパー PDFで API に関して抽象的に説明されていますが、現在、Thrift Apache プロジェクトのどこにも定義されていません。

TCompactProtocol プロトコルは、thrift wiki でより適切に定義されていますが、単純な用語ではありません。

structより適切なドキュメントが利用できるようになるまでは、別のオプションとして、Python モジュールのドキュメントと一緒に Python ライブラリ コードを調べることもできます。

于 2011-04-17T15:48:29.700 に答える