Goby3 3.2.3
2025.05.13
Loading...
Searching...
No Matches
interprocess_config.proto
Go to the documentation of this file.
1syntax = "proto2";
2import "goby/protobuf/option_extensions.proto";
3
4package goby.zeromq.protobuf;
5
6message InterProcessPortalConfig
7{
8 optional string platform = 1 [
9 default = "default_goby_platform",
10 (goby.field) = {
11 description: "Name for this platform (vehicle name, mooring name, topside name, "
12 "etc.)"
13 }
14 ];
15
16 enum Transport
17 {
18 IPC = 2;
19 TCP = 3;
20 };
21
22 optional Transport transport = 2 [
23 default = IPC,
24 (goby.field).description =
25 "Transport to use: IPC uses UNIX sockets and is only suitable for "
26 "single machine interprocess, TCP uses Internet Protocol and is "
27 "suitable for any reasonably high-speed LAN"
28 ];
29 optional string socket_name = 3
30 [(goby.field).description =
31 "For transport == IPC, the path to the socket file to use for "
32 "comms with the Manager (gobyd). If omitted, defaults to "
33 "\"/tmp/goby_{platform}.manager"];
34
35 oneof ip
36 {
37 string ipv4_address = 4 [
38 default = "127.0.0.1",
39 (goby.field).description =
40 "For transport == TCP, IPv4 address for the Manager (gobyd)"
41 ];
42 string ip_address = 11 [
43 (goby.field).description =
44 "For transport == TCP, IPv4 or IPv6 address for the Manager (gobyd)"
45 ];
46 }
47
48 optional uint32 tcp_port = 5 [
49 default = 11144,
50 (goby.field).description =
51 "For transport == TCP, TCP port for the Manager (gobyd)"
52 ];
53
54 optional uint32 send_queue_size = 6 [
55 default = 1000,
56 (goby.field).description =
57 "Queue size for outbound messages, i.e. ZMQ_SNDHWM",
58 (goby.field).cfg = { action: ADVANCED }
59 ];
60 optional uint32 receive_queue_size = 7 [
61 default = 1000,
62 (goby.field).description =
63 "Queue size for inbound messages, i.e. ZMQ_RCVHWM",
64 (goby.field).cfg = { action: ADVANCED }
65 ];
66 optional uint32 zeromq_number_io_threads = 8 [
67 default = 4,
68 (goby.field).description =
69 "Number of threads for zmq::context_t (first constructor "
70 "argument)",
71 (goby.field).cfg = { action: DEVELOPER }
72 ];
73
74 optional uint32 manager_timeout_seconds = 10 [
75 default = 5,
76 (goby.field).description =
77 "How long to wait for a ManagerResponse before assuming the "
78 "Manager (gobyd) is unresponsive",
79 (goby.field).cfg = { action: ADVANCED }
80 ];
81
82 optional string client_name = 20 [
83 (goby.field).description =
84 "Unique name for InterProcessPortal. Defaults to app.name",
85 (goby.field).cfg = { action: ADVANCED }
86 ];
87}
88
89message InterProcessManagerHold
90{
91 repeated string required_client = 1 [
92 (goby.field).description =
93 "List of required clients to be connected before hold is released"
94 ];
95 // optional int32 timeout_seconds = 2 [default = 10,
96 // (goby.field).description = "Timeout for all required clients
97 // connecting"];
98}