Мы сериализуем прото-файл (proto3) и отправляем его через nats следующим образом.
Код: Выделить всё
size_t message_size_ru_configuration = ruconfiguration__get_packed_size(&ru_configuration);
uint8_t* serialized_data_ru_configuration = malloc(message_size_ru_configuration);
ruconfiguration__pack(&ru_configuration, serialized_data_ru_configuration); // Serialize the message
MIS_async_publish("ru.config.set", (const char *)serialized_data_ru_configuration, message_size_ru_configuration);
free(serialized_data_ru_configuration);
Код: Выделить всё
std::string from_char(data, dataSize);
ulak_mplane_api::RuControlConfiguration deserialized_ru_conf;
deserialized_ru_conf.ParseFromString(from_char);
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78532331/serialize-default-values-in-proto-3-in-c-language[/url]
Мобильная версия