2011-12-29 69 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