は、私はここで定義された一定の大きさ(またはので、私が望んで)いるProtobufメッセージとファイルがあります:プロトコルバッファに定数フィールドサイズを使用させる方法はありますか?
message FrameData {
required int32 index = 1;
required bytes timeStamp = 2;
required int32 timeStampSize = 3;
required bytes frame = 4;
required int32 frameSize = 5;
}
ファイルが数百人いるProtobufメッセージが含まれているが、すべてのフレームは、常に同じサイズでなければなりません。しかし、私がファイルを読み込むと、通常、index
に広いダイナミックレンジがあるときに、データが破損することがあります。
Protobufは可能な限りデータを縮小し、その値に基づいてintをパックします。私のFrameData
オブジェクトのサイズが少し違うと思われます。
protobufに一定のフィールドサイズを使用させる方法はありますか?特にint32?
(別のオプションは、すべてのフィールドのbytes
タイプを使用することですが、私はそれを避けたいのですが)
私は理解できない、プロトコルの伝送の「他の側を」? –
はい。メッセージはファイルに保存され、反対側はそのファイルから読み込まれます。 Protobufは読み込んだストリームを消費するため、Protobufの各メッセージを手動で読み込み、protobufで解析する必要があります。使用の純粋さではない... – Nitay