Goby3  3.1.5
2024.05.14
dccl.proto
Go to the documentation of this file.
1 syntax = "proto2";
2 // provides MessageFile
3 import "goby/protobuf/option_extensions.proto";
4 
5 package goby.acomms.protobuf;
6 
7 message DCCLConfig
8 {
9  // optional int32 modem_id = 1 [(goby.field).description="Unique number
10  // 1-31 to identify this node", (goby.field).example="1"];
11  optional string crypto_passphrase = 2 [
12  (goby.field).description =
13  "If given, encrypt all communications with this passphrase using "
14  "AES. Omit for unencrypted communications.",
15  (goby.field).example = "twinkletoes%24"
16  ];
17  repeated uint32 skip_crypto_for_id = 3
18  [(goby.field).description =
19  "Skip encrypting and decrypting these DCCL IDs"];
20  optional string id_codec = 4;
21 }
22 
23 message ArithmeticModel
24 {
25  required string name = 1;
26 
27  repeated uint32 frequency =
28  10; // frequency of the symbol given by the repeated field index
29  // probability is (frequency / sum(frequency))
30  optional uint32 eof_frequency = 11
31  [default = 1]; // frequency of EOF symbol
32  optional uint32 out_of_range_frequency = 12
33  [default =
34  0]; // frequency of the out-of-range value, that is, the value not
35  // within the range defined by [symbol_to_value(0),
36  // maximum_value). This *may* be zero, in this case, out of
37  // range values end encoding and return EOF there.
38 
39  repeated double value_bound =
40  20; // set of bounds of value in double space that maps to symbol given
41  // by repeated field index; upper bound is given by lower bound of
42  // the next symbol. Size must be size(frequency) + 1 (number of
43  // symbols + 1).
44 
45  optional bool is_adaptive = 30 [default = false];
46 }