Goby3  3.1.5a
2024.05.23
header.proto
Go to the documentation of this file.
1 syntax = "proto2";
2 import "goby/protobuf/option_extensions.proto";
3 import "dccl/option_extensions.proto";
4 
5 package goby.test.acomms.protobuf;
6 
7 // required fields will be filled in for you by ApplicationBase
8 // if you choose not to do so yourself
9 message Header
10 {
11  option (dccl.msg).unit_system = "si";
12 
13  //
14  // time
15  //
16 
17  // micro-seconds since unix
18  required uint64 time = 10
19  [(dccl.field).codec = "_time", (dccl.field).in_head = true, (dccl.field).units = { prefix: "micro" base_dimensions: "T"} ];
20 
21  //
22  // source
23  //
24  required uint32 source_platform = 11 [
25  (dccl.field).min = 0,
26  (dccl.field).max = 31,
27  (dccl.field).in_head = true
28  ];
29  optional string source_app = 12 [(dccl.field).omit = true];
30 
31  //
32  // destination
33  //
34  enum PublishDestination
35  {
36  PUBLISH_SELF = 1;
37  PUBLISH_OTHER = 2;
38  PUBLISH_ALL = 3;
39  }
40  optional PublishDestination dest_type = 13
41  [default = PUBLISH_SELF, (dccl.field).in_head = true];
42 
43  optional uint32 dest_platform = 14 [
44  (dccl.field).min = 0,
45  (dccl.field).max = 31,
46  (dccl.field).in_head = true
47  ]; // required if dest_type == other
48 }