Thrift格式规范在哪里?

Sta*_*Man 18 specifications thrift dataformat

虽然Thrift格式相对广泛使用(并且项目仍然存在),但我无法找到底层数据格式的规范.或格式,因为显然至少有两种格式; 标准的,紧凑的格式.

鉴于它的广泛使用,我希望它只是我可怜的google-fu,并且存在规范或规范(源代码之外).如果是这样,请分享!

编辑:Java源代码对于确定格式并不算太糟糕; 参见TBinaryProtocol.java和TCompactBinaryProtocol.java; 其中包含基元,由生成的类调用(扩展TBase)

编辑2:虽然它不包含格式规范,但" 缺失的指南 "是很好的阅读.

小智 10

Thrift消息的格式取决于所选的序列化协议.您可以使用许多协议之一序列化Thrift对象,包括TBinaryProtocol,TCompactProtocol,TJSONProtocol和其他模糊选项.该协议在API 的原始Thrift白皮书PDF中被抽象地描述,但目前在Thrift apache项目中的任何地方都没有定义.

TCompactProtocol协议在thrift wiki上稍微更好地定义,但不是简单的术语.

在获得更好的文档之前,您还可以将Python库代码与Python struct模块文档一起检查作为另一种选择.


Eri*_*ten 10

我遇到了同样的问题,因此决定编写Thrift二进制和紧凑协议的规范.

你可以在这里找到它:https://erikvanoosten.github.io/thrift-missing-specification/