#c #rpc #protocol-buffers
#c #rpc #протокол-буферы
Вопрос:
Как мне определить принудительный вызов rpc только на языке буферов протокола? Синтаксис, показанный в подразделе определения службы, показывает только общую пару запрос -> возвращает.
Одно из решений, которое я могу придумать, — это иметь сообщение sentinel, такое как ‘ReturnsNothing’, и искать его в моей программе генерации rpc.
Я надеюсь, что есть лучший способ сделать это, возможно, есть недокументированное решение?
Ответ №1:
Вы могли бы просто ввести и использовать Empty
тип сообщения:
message Empty
{
}
service MyService
{
rpc Search (MyRequest) returns (Empty);
}
(Не уверен, что вы имели в виду то же самое с вашим сообщением ReturnsNothing).
Комментарии:
1. Да, это то же самое, о чем я упоминал, ничего не возвращает : D
2. Ах, хорошо. Ну, нет ничего плохого в пустом типе или типе единицы, как их называют некоторые люди.