DCCL v4
test.proto
1 // Copyright 2018-2023:
2 // GobySoft, LLC (2013-)
3 // Community contributors (see AUTHORS file)
4 // File authors:
5 // Toby Schneider <toby@gobysoft.org>
6 //
7 //
8 // This file is part of the Dynamic Compact Control Language Library
9 // ("DCCL").
10 //
11 // DCCL is free software: you can redistribute it and/or modify
12 // it under the terms of the GNU Lesser General Public License as published by
13 // the Free Software Foundation, either version 2.1 of the License, or
14 // (at your option) any later version.
15 //
16 // DCCL is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 // GNU Lesser General Public License for more details.
20 //
21 // You should have received a copy of the GNU Lesser General Public License
22 // along with DCCL. If not, see <http://www.gnu.org/licenses/>.
23 syntax = "proto2";
24 import "dccl/option_extensions.proto";
25 package dccl.test;
26 
27 message BytesMsg
28 {
29  option (dccl.msg).id = 10;
30  option (dccl.msg).max_bytes = 54;
31  option (dccl.msg).codec_version = 4;
32 
33  required bytes req_bytes = 1
34  [(dccl.field) = { max_length: 10 codec: "dccl.var_bytes" }];
35  optional bytes opt_bytes = 2
36  [(dccl.field) = { max_length: 10 codec: "dccl.var_bytes" }];
37  repeated bytes rep_bytes = 3 [
38  (dccl.field) = { max_length: 10 max_repeat: 3 codec: "dccl.var_bytes" }
39  ];
40 }