Установить поле буфера протокола из другого поля - PullRequest
0 голосов
/ 05 октября 2018

У меня есть такое сообщение:

import "data.proto"

message topMessage {
    optional string foo = 1;

    message nestedMessage {
        required int index = 1;
        required data entry = 2;
    }
    repeated map = 2;
}

Я бы хотел, чтобы index установил себя на основе entry.Каждое data сообщение имеет поле int, которое используется для этого.Прямо сейчас я звоню setEntry(someData) и setIndex(someData.getInt()).Было бы неплохо иметь возможность настроить entry так, чтобы он автоматически устанавливал index всякий раз, когда я звоню setEntry().Это возможно?

1 Ответ

0 голосов
/ 05 октября 2018

Вы не указали, на каком языке вы его используете. Также недостаточно информации для воспроизведения вашей проблемы.При этом, как правило, нет, это не может быть указано в вашем файле .proto.Вы можете переопределить вещи в своем коде так, что вы вызываете что-то вроде setFullEntry(someData), и этот метод вызывает и setEntry, и setIndex, но это зависит от языка, который вы используете для реальной логики.

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