我正在编写一个服务器的python客户端,其中message
有一些元数据,后跟一些required
bytes
。对于我的用例,我不需要同时在内存中包含所有bytes
,所以理想情况下我希望能够解析元数据,然后才能与bytes
进行交互。流媒体时尚,没有他们全部被拉入内存。这可能与python API有关吗?
答案 0 :(得分:1)
不,Python API不支持此功能。从理论上讲,您可以使用手写解析器来完成它,但不能保证 - 允许消息编写器以任何顺序写入字段,因此它可以将字节放在第一位。 (实际上,大多数实现都会按字段编号顺序编写 - 但这意味着如果你添加一个新字段,它可能会出现在字节之后!)
通常,protobufs不是为了在单个消息中表示大量数据而设计的。有关详情,请参阅文档中的this discussion。