Ниже приведена спецификация услуги:
service Cooler {
rpc saveThing (stream SaveRequest) returns (SaveReply);
}
Мне нужно для потоковой передачи сообщений на Cooler.saveThing()
. Все SaveRequests
имеют общее поле author
и уникальные поля для Thing
: price
и name
. Как я могу отправить author
только один раз?
Не работает попытка - несколько входов
Это было бы решением, но оно еще не поддерживается protobuf. * 1015 *
service Cooler {
rpc saveThing (stream SaveRequest, Author) returns (SaveReply);
}
Не работает попытка - вложенное сообщение
Каждый полученный элемент SaveRequest
будет по-прежнему содержать author
и массив Things
.
message SaveRequest {
message Thing {
int price = 1;
string name = 2;
}
repeated Thing things = 1;
string author = 2;
}
Возможное решение
Заголовки Grpc.
Вопрос
Как я могу отправить author
только один раз?