Thrift格式规范在哪里?
虽然Thrift格式相对广泛使用(并且项目仍然存在),但我一直无法找到底层数据格式的规范。 或格式,因为显然至少有两种格式; 标准格式和紧凑格式。
鉴于其广泛的用法,我希望这只是我可怜的google-fu,并且存在规范或规范(源代码之外)。 如果是这样,请分享!
编辑:Java源代码是不是太糟糕搞清楚格式; 请参阅TBinaryProtocol.java和TCompactBinaryProtocol.java; 其中包含基元,由生成的类调用(它扩展了TBase)
编辑2:虽然它不包含格式规范,“缺少的指南”是很好的阅读。
Thrift消息的格式取决于选择的序列化协议。 您可以使用多种协议之一来序列化一个Thrift对象,包括TBinaryProtocol,TCompactProtocol,TJSONProtocol和其他不明确的选项。 该协议在原始Thrift白皮书PDF中以API方式抽象描述,但目前尚未在Thrift apache项目中的任何地方定义。
TCompactProtocol协议在thrift wiki上定义的稍好,但不是简单的术语。
在更好的文档可用之前,您还可以将Python库代码与Python struct
模块文档一起作为另一个选项进行检查。
我有同样的问题,因此决定写一个Thrift二进制和紧凑协议的规范。
你可以在这里找到它:https://erikvanoosten.github.io/thrift-missing-specification/
链接地址: http://www.djcxy.com/p/21435.html