Как использовать скалярный тип в качестве аргумента функции в gRP C? - PullRequest
0 голосов
/ 06 марта 2020

В gRP C ожидается, что аргумент будет являться сообщением protobuf. Предположим, что я хочу отправить int, мне нужно создать сообщение message Int { int32 value = 1; } и использовать это сообщение для отправки int.

Вот пример определения функции: rpc Range(Int) returns (stream Int) {}

Но я не хочу создавать такую ​​структуру сообщений для каждого скалярного типа по умолчанию, например, bool, int32, int64, float и т. Д. c. Как использовать скалярный тип в аргументе функции gRP C?

1 Ответ

1 голос
/ 06 марта 2020

Protobuf предоставляет типы обёрток, вы можете использовать Int32Value.

это должно выглядеть следующим образом

import "google/protobuf/wrappers.proto";

service YourSerice {
  rpc Range(google.protobuf.Int32Value) returns (stream google.protobuf.Int32Value) {}
}

Вы можете проверить другие примитивные оболочки на protobuf Github ( wrappers.proto ).

...