Cleanup and comment the code of network_server example.
[apps/agl-service-can-low-level.git] / examples / using_union_messages / unionproto.proto
1 // This is an example of how to handle 'union' style messages
2 // with nanopb, without allocating memory for all the message types.
3 //
4 // There is no official type in Protocol Buffers for describing unions,
5 // but they are commonly implemented by filling out exactly one of
6 // several optional fields.
7
8 message MsgType1
9 {
10     required int32 value = 1;
11 }
12
13 message MsgType2
14 {
15     required bool value = 1;
16 }
17
18 message MsgType3
19 {
20     required int32 value1 = 1;
21     required int32 value2 = 2;
22 }
23
24 message UnionMessage
25 {
26     optional MsgType1 msg1 = 1;
27     optional MsgType2 msg2 = 2;
28     optional MsgType3 msg3 = 3;
29 }
30