Protobuf: как включить другой файл в текстовом формате - PullRequest
0 голосов
/ 29 января 2019

Вот простой пример, иллюстрирующий проблему, которую я пытаюсь решить.

Допустим, у меня есть буфер протокола, определенный как main.proto:

syntax = "proto2";
package test.protos;

message A {
  required uint32 a_value = 1;
  optional B values = 2;
}

message B {
  required uint32 v1 = 1;
  required uint32 v2 = 1;
}

У меня также естьмного конфигураций A только с несколькими "стандартными" конфигурациями B (которые я время от времени меняю).Я хотел бы иметь несколько установленных файлов конфигурации B, определенных отдельно от A, и включать эти файлы вместо копирования и вставки значений B в каждую конфигурацию при внесении изменений.

Для продолжения примера у меня были бы следующие файлы:

//b1.config
v1: 1
v2: 2

//b2.config
v1: 2
v2: 1

//a1.config
a_value: 1
values {import b1}

//a2.config
a_value: 2
values {import b1}

//a3.config
a_value: 3
values {import b2}

//a4.config
a_value: 4
values {import b2}

Теперь, допустим, мне нужно изменить b1.v2 на 3.Если есть какая-то функция импорта, мне нужно всего лишь изменить 1 значение в b1.config, без него мне нужно изменить его в 2 местах.

Существует ли такая вещь в protobuf?Если да, то как мне этого добиться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...