mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
631 B
33 lines
631 B
8 years ago
|
// This is an example of how to handle 'union' style messages
|
||
|
// with nanopb, without allocating memory for all the message types.
|
||
|
//
|
||
|
// There is no official type in Protocol Buffers for describing unions,
|
||
|
// but they are commonly implemented by filling out exactly one of
|
||
|
// several optional fields.
|
||
|
|
||
|
syntax = "proto2";
|
||
|
|
||
|
message MsgType1
|
||
|
{
|
||
|
required int32 value = 1;
|
||
|
}
|
||
|
|
||
|
message MsgType2
|
||
|
{
|
||
|
required bool value = 1;
|
||
|
}
|
||
|
|
||
|
message MsgType3
|
||
|
{
|
||
|
required int32 value1 = 1;
|
||
|
required int32 value2 = 2;
|
||
|
}
|
||
|
|
||
|
message UnionMessage
|
||
|
{
|
||
|
optional MsgType1 msg1 = 1;
|
||
|
optional MsgType2 msg2 = 2;
|
||
|
optional MsgType3 msg3 = 3;
|
||
|
}
|
||
|
|