将protobuf枚举消息发送到grpc服务器

时间:2018-07-30 06:40:25

标签: go protocol-buffers grpc

给出一个

message Foo {
enum State {
    STATE1 = 0;
    STATE2 = 1;
    STATE3 = 2;
}
}

和grpc服务定义

rpc Method(stream Foo) returns (Empty) {}

将grpc客户端代码发送到grpc服务器的代码是什么样的?为了澄清,假设我有一个streamClient.Send()。我将如何传递给Send()?我该如何构造枚举?

1 个答案:

答案 0 :(得分:0)

您定义了State,但是Foo中没有State字段。

尝试一下

syntax="proto3";
option go_package ="enumpb";
message Foo {
  enum State {
    STATE1 = 0;
    STATE2 = 1;
    STATE3 = 2;
  }
  State myState = 1;
}

这一切

enumExample := enumpb.Foo{
    MyState: enumpb.Foo_STATE1,
}
fmt.Println("enumExample", enumExample)