-
Notifications
You must be signed in to change notification settings - Fork 59
/
DEFAULT_CONFIG.json5
173 lines (153 loc) · 8.04 KB
/
DEFAULT_CONFIG.json5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
////
//// This file presents the default configuration used by both the `zenoh-plugin-dds` plugin and the `zenoh-bridge-dds` standalone executable.
//// The "dds" JSON5 object below can be used as such in the "plugins" part of a config file for the zenoh router (zenohd).
////
{
plugins: {
////
//// DDS related configuration
//// All settings are optional and are unset by default - uncomment the ones you want to set
////
dds: {
////
//// scope: A string added as prefix to all routed DDS topics when mapped to a zenoh resource.
//// This should be used to avoid conflicts when several distinct DDS systems using
//// the same topics names are routed via zenoh.
////
// scope: "robot-1",
////
//// domain: The DDS Domain ID. By default set to 0, or to "$ROS_DOMAIN_ID" is this environment variable is defined.
////
// domain: 0,
////
//// localhost_only: If set to true, the DDS discovery and traffic will occur only on the localhost interface (127.0.0.1).
//// By default set to false, unless the "ROS_LOCALHOST_ONLY=1" environment variable is defined.
////
// localhost_only: true,
////
//// shm_enabled: If set to true, the DDS implementation will be configured to use the Iceoryx PSMX plugin.
//// Requires the bridge to be built with the 'dds_shm' feature for this option to valid.
//// By default set to false.
////
// shm_enabled: false,
////
//// allow: 1 or more regular expression matching the set of 'partition/topic-name' that must be routed via zenoh.
//// By default, all partitions and topics are allowed.
//// If both 'allow' and 'deny' are set a partition and/or topic will be allowed if it matches only the 'allow' expression.
//// Repeat this option to configure several topic expressions. These expressions are concatenated with '|'.
//// Examples (the last 2 are equivalent):
//// allow: ".*/TopicA",
//// allow: "Partition-?/.*",
//// allow: ["cmd_vel", "rosout"]
//// allow: "cmd_vel|rosout"
////
// allow: ["cmd_vel", "rosout"],
////
//// deny: 1 or more regular regular expression matching the set of 'partition/topic-name' that must NOT be routed via zenoh.
//// By default, no partitions and no topics are denied.
//// If both 'allow' and 'deny' are set a partition and/or topic will be allowed if it matches only the 'allow' expression.
//// Repeat this option to configure several topic expressions. These expressions are concatenated with '|'.
//// Examples (the last 2 are equivalent):
//// deny: ".*/TopicA",
//// deny: "Partition-?/.*",
//// deny: ["cmd_vel", "rosout"]
//// allow: "cmd_vel|rosout"
////
// deny: ["cmd_vel", "rosout"],
////
//// max_frequencies: Specifies a list of maximum frequency of data routing over zenoh for a set of topics.
//// The strings must have the format "<regex>=<float>":
//// - "regex" is a regular expression matching the set of "partition/topic-name"
//// (same syntax than --allow option) for which the data (per DDS instance) must be
//// routed at no higher rate than the specified max frequency.
//// - "float" is the maximum frequency in Hertz;
//// if publication rate is higher, downsampling will occur when routing.
// max_frequencies: ["diagnostic.*=10", "rosout=5"],
////
//// generalise_subs: A list of key expression to use for generalising subscriptions.
////
// generalise_subs: ["SUB1", "SUB2"],
////
//// generalise_pubs: A list of key expression to use for generalising publications.
////
// generalise_pubs: ["PUB1", "PUB2"],
////
//// forward_discovery: When true, rather than creating a local route when discovering a local DDS entity,
//// this discovery info is forwarded to the remote plugins/bridges.
//// Those will create the routes, including a replica of the discovered entity.
////
// forward_discovery: false,
////
//// reliable_routes_blocking: When true, the publications from a RELIABLE DDS Writer will be
//// routed to zenoh using the CongestionControl::Block option.
//// Meaning the routing will be blocked in case of network congestion,
//// blocking the DDS Reader and the RELIABLE DDS Writer in return.
//// When false (or for BERST_EFFORT DDS Writers), CongestionControl::Drop
//// is used, meaning the route might drop some data in case of congestion.
////
// reliable_routes_blocking: true,
////
//// queries_timeout: A duration in seconds (default: 5.0 sec) that will be used as a timeout when the bridge
//// queries any other remote bridge for discovery information and for historical data for TRANSIENT_LOCAL DDS Readers it serves
//// (i.e. if the query to the remote bridge exceed the timeout, some historical samples might be not routed to the Readers,
//// but the route will not be blocked forever).
////
// queries_timeout: 5.0,
////
//// This plugin uses Tokio (https://tokio.rs/) for asynchronous programming.
//// When running as a plugin within a Zenoh router, the plugin creates its own Runtime managing 2 pools of threads:
//// - worker threads for non-blocking tasks. Those threads are spawn at Runtime creation.
//// - blocking threads for blocking tasks (e.g. I/O). Those threads are spawn when needed.
//// For more details see https://github.com/tokio-rs/tokio/discussions/3858#discussioncomment-869878
//// When running as a standalone bridge the Zenoh Session's Runtime is used and can be configured via the
//// `ZENOH_RUNTIME` environment variable. See https://docs.rs/zenoh-runtime/latest/zenoh_runtime/enum.ZRuntime.html
////
//// work_thread_num: The number of worker thread in the asynchronous runtime will use. (default: 2)
//// Only for a plugin, no effect on a bridge.
// work_thread_num: 2,
//// max_block_thread_num: The number of blocking thread in the asynchronous runtime will use. (default: 50)
//// Only for a plugin, no effect on a bridge.
// max_block_thread_num: 50,
},
////
//// REST API configuration (active only if this part is defined)
////
// rest: {
// ////
// //// The HTTP port number (for all network interfaces).
// //// You can bind on a specific interface setting a "<local_ip>:<port>" string.
// ////
// http_port: 8000,
// },
},
////
//// zenoh related configuration (see zenoh documentation for more details)
////
////
//// id: The identifier (as hex-string) that zenoh-bridge-dds must use. If not set, a random UUIDv4 will be used.
//// WARNING: this id must be unique in your zenoh network.
// id: "A00001",
////
//// mode: The bridge's mode (peer or client)
////
// mode: "client",
////
//// Which endpoints to connect to. E.g. tcp/localhost:7447.
//// By configuring the endpoints, it is possible to tell zenoh which router/peer to connect to at startup.
////
connect: {
endpoints: [
// "<proto>/<ip>:<port>"
]
},
////
//// Which endpoints to listen on. E.g. tcp/localhost:7447.
//// By configuring the endpoints, it is possible to tell zenoh which are the endpoints that other routers,
//// peers, or client can use to establish a zenoh session.
////
listen: {
endpoints: [
// "<proto>/<ip>:<port>"
]
},
}