Goby v2
transitional.proto
1 
2 import "goby/acomms/protobuf/manipulator.proto";
3 import "goby/common/protobuf/option_extensions.proto";
4 
5 package goby.transitional.protobuf;
6 
7 message DCCLTransitionalConfig
8 {
9  optional int32 modem_id = 1 [
10  (goby.field).description = "Unique number 1-31 to identify this node",
11  (goby.field).example = "1"
12  ];
13  repeated MessageFile message_file = 2
14  [(goby.field).description =
15  "XML message file containing one or more DCCL message "
16  "descriptions"];
17 
18  optional string generated_proto_dir = 4 [
19  (goby.field).description =
20  "Directory to store auto-generated .proto files from deprecated "
21  "XML "
22  "files",
23  default = "/tmp"
24  ];
25 }
26 
27 message MessageFile
28 {
29  required string path = 1 [
30  (goby.field).description = "path to the message XML file",
31  (goby.field).example =
32  "/home/toby/goby/src/acomms/examples/chat/chat.xml"
33  ];
34 
35  repeated goby.acomms.protobuf.Manipulator manipulator = 2 [
36  (goby.field).description =
37  "manipulators to modify the encoding and queuing behavior of the "
38  "messages in this file",
39  (goby.field).example = "NO_MANIP"
40  ];
41 }
42 
43 enum QueueType
44 {
45  QUEUE_DCCL = 1;
46  QUEUE_CCL = 2;
47 };
48 
49 message QueueKey
50 {
51  required QueueType type = 1 [
52  default = QUEUE_DCCL,
53  (goby.field).description = "Type of messages in this queue"
54  ];
55  required uint32 id = 2 [
56  (goby.field).description =
57  "DCCL ID for QUEUE_DCCL, CCL Identifier (first) byte for QUEUE_CCL",
58  (goby.field).example = "14"
59  ];
60 }
61 
62 message QueueConfig
63 {
64  optional bool ack = 1 [
65  default = true,
66  (goby.field).description =
67  "Require acoustic acknowledgments of messages sent from this "
68  "queue"
69  ];
70  optional uint32 blackout_time = 2 [
71  default = 0,
72  (goby.field).description =
73  "Time in seconds to ignore this queue after the last send from "
74  "it."
75  ];
76  optional uint32 max_queue = 3 [
77  default = 0,
78  (goby.field).description =
79  "Maximum allowed messages in this queue (0 means infinity)."
80  ];
81  optional bool newest_first = 4 [
82  default = true,
83  (goby.field).description = "true = FILO queue, false = FIFO queue"
84  ];
85  optional double value_base = 5 [
86  default = 1,
87  (goby.field).description =
88  "Base value (general importance) of the messages in this queue"
89  ];
90  optional uint32 ttl = 6 [
91  default = 1800,
92  (goby.field).description =
93  "Time to live in seconds; messages exceeding this time are "
94  "discarded. "
95  "Also factors into priority equation"
96  ];
97  optional QueueKey key = 7;
98  required string name = 8 [
99  (goby.field).description = "Human readable name for this queue",
100  (goby.field).example = "Remus_State"
101  ];
102  optional string in_pubsub_var = 9 [
103  (goby.field).description =
104  "Publish subscribe architecture variable for posting incoming data "
105  "to",
106  (goby.field).example = "REMUS_STATE_RAW_IN"
107  ];
108  optional string out_pubsub_var = 10 [
109  (goby.field).description =
110  "Publish subscribe architecture variable for fetching outgoing "
111  "data "
112  "from",
113  (goby.field).example = "REMUS_STATE_RAW_OUT"
114  ];
115 }