DCCL v3
test.proto
1 
2 import "dccl/option_extensions.proto";
3 package dccl.test;
4 
5 message ShortIDMsg
6 {
7  option (dccl.msg).id = 2;
8  option (dccl.msg).max_bytes = 1;
9  option (dccl.msg).codec_version = 3;
10 }
11 
12 message ShortIDMsgWithData
13 {
14  option (dccl.msg).id = 3;
15  option (dccl.msg).max_bytes = 10;
16  option (dccl.msg).codec_version = 3;
17 
18  optional int32 in_head = 1 [(dccl.field).in_head=true, (dccl.field).min=0, (dccl.field).max=100];
19  optional int32 in_body = 2 [(dccl.field).in_head=true, (dccl.field).min=0, (dccl.field).max=100];
20 }
21 
22 message LongIDMsg
23 {
24  option (dccl.msg).id = 10000;
25  option (dccl.msg).max_bytes = 2;
26  option (dccl.msg).codec_version = 3;
27 }
28 
29 message TooLongIDMsg
30 {
31  option (dccl.msg).id = 32768;
32  option (dccl.msg).max_bytes = 32;
33  option (dccl.msg).codec_version = 3;
34 }
35 
36 message LongIDEdgeMsg
37 {
38  option (dccl.msg).id = 128;
39  option (dccl.msg).max_bytes = 2;
40  option (dccl.msg).codec_version = 3;
41 }
42 
43 message ShortIDEdgeMsg
44 {
45  option (dccl.msg).id = 127;
46  option (dccl.msg).max_bytes = 1;
47  option (dccl.msg).codec_version = 3;
48 }