Как определить файл *.proto с переменной длиной полезной нагрузки?
Я пытаюсь написать свой первый *.proto файл. Это моя попытка:
syntax = "proto3";
package Message;
message Message {
string name = 1;
string serial = 2;
int32 command = 3;
enum Status {
GOOD = 0;
BAD = 1;
}
Status status = 4;
int32 length = 5;
// end of header
// start of payload
int32 data = 6;
string address = 7;
}
Заголовок имеет длину поля. Это значение определяет длину поля данных в полезной нагрузке. И это моя проблема: поле данных является динамическим, я не могу знать размер сейчас. Я мог бы разделить заголовок и полезную нагрузку на 2 отдельных файла *.proto. Но тогда я все еще не знаю, как динамически установить длину одного из полей.
Заранее спасибо за помощь!
0 ответов
Буфер протокола не позволяет проверять зависимости между полями. Вы должны проверить, если length
соответствует длине data
сам.