У меня есть схема protobuf с кучей повторяющихся структур. Что-то вроде
syntax = "proto3";
package My
message TopLevel
{
string swVersion = 3;
string reportMac = 4;
string reportSsid = 6
}
message Temperature
{
required uint64 ts = 1;
required uint32 source = 3;
repeated sint32 readings = 4;
}
message MyMessage
{
required TopLevel topLevel = 1;
repeated Temperature temperature = 2;
}
Я компилирую с помощью pbtools и получаю структуры и функции для температуры и показаний. Однако мне трудно понять, как динамически добавлять записи «Температура». Или мне не повезло, и pbtools требует заранее сообщить, сколько у меня записей. Одной из проблем является то, что данные кодируются по мере их создания, и я не знаю, сколько из того, что я буду иметь для каждого отчета. Я прикрепил сгенерированный код.