2011-12-29 74 views
2

有没有任何选项可以限制原型缓冲区中输入输出消息的大小? 例如我有两个消息,如InOut每个这些消息包含所需的字节数组bytes并进入此数组我可以写很多字节,所以,我想限制这个数组的大小,例如1Mb我怎么能做它?Google ProtoBuffer:限制消息大小

编辑

我发现CodedInputStream类和方法pushLimit,但我不能编辑生成的源使用此方法来设置限制,如何从.proto信息办呢?

谢谢。

回答

1

你可以自己做一个阈值大小为(int MAXIMUM_SIZE = 1045876;)。在读取或写入字节数组时创建的字节数组的大小将在您指定的最大值MAXIMUM_SIZE处。

+0

我发现了一些如何做到这一点的方法,但所有这些方法都是手动的,我的问题是如何以及如何使用protobuffer来做到这一点。 – 2011-12-29 10:03:25

+0

例如我可以使用CodedInputStream方法pushLimit,但我怎么没有找到。 – 2011-12-29 10:06:57