2 import "goby/protobuf/option_extensions.proto";
4 package goby.zeromq.protobuf;
6 message InterProcessPortalConfig
8 optional string platform = 1 [
9 default = "default_goby_platform",
11 description: "Name for this platform (vehicle name, mooring name, topside name, "
22 optional Transport transport = 2 [
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"
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"];
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)"
42 string ip_address = 11 [
43 (goby.field).description =
44 "For transport == TCP, IPv4 or IPv6 address for the Manager (gobyd)"
48 optional uint32 tcp_port = 5 [
50 (goby.field).description =
51 "For transport == TCP, TCP port for the Manager (gobyd)"
54 optional uint32 send_queue_size = 6 [
56 (goby.field).description =
57 "Queue size for outbound messages, i.e. ZMQ_SNDHWM",
58 (goby.field).cfg = { action: ADVANCED }
60 optional uint32 receive_queue_size = 7 [
62 (goby.field).description =
63 "Queue size for inbound messages, i.e. ZMQ_RCVHWM",
64 (goby.field).cfg = { action: ADVANCED }
66 optional uint32 zeromq_number_io_threads = 8 [
68 (goby.field).description =
69 "Number of threads for zmq::context_t (first constructor "
71 (goby.field).cfg = { action: DEVELOPER }
74 optional uint32 manager_timeout_seconds = 10 [
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 }
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 }
89 message InterProcessManagerHold
91 repeated string required_client = 1 [
92 (goby.field).description =
93 "List of required clients to be connected before hold is released"
95 // optional int32 timeout_seconds = 2 [default = 10,
96 // (goby.field).description = "Timeout for all required clients