Pan*_*ato 4 java protocol-buffers
我有一个列表列表字段,如下所示:
public class MyClass{
private List<List<String>>
}
Run Code Online (Sandbox Code Playgroud)
如何在proto文件中定义它?
kre*_*ems 10
结合这两个给我们:
message ListOfListsOfStrings {
repeated ListOfStrings listOfStrings=1;
}
message ListOfStrings {
repeated string strings=2;
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以在proto中使用ListOfListsOfStrings消息.
我也想知道同样的事情,我了解到我可以:
streamrepeated如下图:
syntax = "proto3";
import "google/protobuf/empty.proto";
message Dummy {
string foo = 1;
string bar = 2;
}
message DummyList {
repeated Dummy dummy = 1;
}
service DummyService {
rpc getDummyListWithStream(google.protobuf.Empty) returns (stream Dummy) {}
rpc getDummyListWithRepeated(google.protobuf.Empty) returns (DummyList) {}
}
Run Code Online (Sandbox Code Playgroud)
那么,哪一个?
一般来说,如果您的用例允许客户端一次处理一个传入消息,那么流是更好的选择。如果您的客户端只是阻塞,直到所有消息到达,然后汇总处理它们,则重复字段可能是合适的,但即使在这种情况下,除了失去一些潜在的可压缩性之外,流也可以正常工作。
从这里引用:https ://groups.google.com/forum/#!topic/grpc-io/F23vXwilTq0
| 归档时间: |
|
| 查看次数: |
6441 次 |
| 最近记录: |