10.12. ExampleΒΆ
In this section, there is a full XML example with all possible configuration.
Warning
This example can be used as a quick reference, but it may not be correct due to incompatibility or exclusive properties. Do not take it as a working example.
1<?xml version="1.0" encoding="UTF-8" ?>
2<dds xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles" >
3 <profiles>
4 <transport_descriptors>
5 <!-- TCP sample transport descriptor -->
6 <transport_descriptor>
7 <transport_id>ExampleTransportId1</transport_id>
8 <type>TCPv4</type>
9 <sendBufferSize>8192</sendBufferSize>
10 <receiveBufferSize>8192</receiveBufferSize>
11 <maxMessageSize>16384</maxMessageSize>
12 <maxInitialPeersRange>100</maxInitialPeersRange>
13 <netmask_filter>AUTO</netmask_filter>
14 <interfaces>
15 <allowlist>
16 <interface name="wlp59s0" netmask_filter="ON"/>
17 </allowlist>
18 <blocklist>
19 <interface name="127.0.0.1"/>
20 <interface name="docker0"/>
21 </blocklist>
22 </interfaces>
23 <interfaceWhiteList>
24 <address>192.168.1.41</address>
25 <interface>lo</interface>
26 </interfaceWhiteList>
27 <wan_addr>80.80.55.44</wan_addr>
28 <keep_alive_frequency_ms>5000</keep_alive_frequency_ms>
29 <keep_alive_timeout_ms>25000</keep_alive_timeout_ms>
30 <max_logical_port>200</max_logical_port>
31 <logical_port_range>20</logical_port_range>
32 <logical_port_increment>2</logical_port_increment>
33 <listening_ports>
34 <port>5100</port>
35 <port>5200</port>
36 </listening_ports>
37 <tls>
38 <password>Password</password>
39 <private_key_file>Key_file.pem</private_key_file>
40 <rsa_private_key_file>RSA_file.pem</rsa_private_key_file>
41 <cert_chain_file>Chain.pem</cert_chain_file>
42 <tmp_dh_file>DH.pem</tmp_dh_file>
43 <verify_file>verify.pem</verify_file>
44 <verify_mode>
45 <verify>VERIFY_PEER</verify>
46 </verify_mode>
47 <options>
48 <option>NO_TLSV1</option>
49 <option>NO_TLSV1_1</option>
50 </options>
51 <verify_paths>
52 <verify_path>Path1</verify_path>
53 <verify_path>Path2</verify_path>
54 <verify_path>Path3</verify_path>
55 </verify_paths>
56 <verify_depth>55</verify_depth>
57 <default_verify_path>true</default_verify_path>
58 <handshake_role>SERVER</handshake_role>
59 <server_name>my_server.com</server_name>
60 </tls>
61 <calculate_crc>false</calculate_crc>
62 <check_crc>false</check_crc>
63 <enable_tcp_nodelay>false</enable_tcp_nodelay>
64 <default_reception_threads>
65 <scheduling_policy>-1</scheduling_policy>
66 <priority>0</priority>
67 <affinity>0</affinity>
68 <stack_size>-1</stack_size>
69 </default_reception_threads>
70 <reception_threads>
71 <reception_thread port="12345">
72 <scheduling_policy>-1</scheduling_policy>
73 <priority>0</priority>
74 <affinity>0</affinity>
75 <stack_size>-1</stack_size>
76 </reception_thread>
77 </reception_threads>
78 </transport_descriptor>
79 <!-- UDP sample transport descriptor. Several options are common with TCP -->
80 <transport_descriptor>
81 <transport_id>ExampleTransportId2</transport_id>
82 <type>UDPv6</type>
83 <TTL>250</TTL>
84 <non_blocking_send>false</non_blocking_send>
85 <output_port>5101</output_port>
86 <default_reception_threads>
87 <scheduling_policy>-1</scheduling_policy>
88 <priority>0</priority>
89 <affinity>0</affinity>
90 <stack_size>-1</stack_size>
91 </default_reception_threads>
92 <reception_threads>
93 <reception_thread port="12345">
94 <scheduling_policy>-1</scheduling_policy>
95 <priority>0</priority>
96 <affinity>0</affinity>
97 <stack_size>-1</stack_size>
98 </reception_thread>
99 </reception_threads>
100 </transport_descriptor>
101 <!-- SHM sample transport descriptor -->
102 <transport_descriptor>
103 <transport_id>SHM_SAMPLE_DESCRIPTOR</transport_id>
104 <type>SHM</type> <!-- REQUIRED -->
105 <maxMessageSize>524288</maxMessageSize> <!-- OPTIONAL uint32 valid of all transports-->
106 <segment_size>1048576</segment_size> <!-- OPTIONAL uint32 SHM only-->
107 <port_queue_capacity>1024</port_queue_capacity> <!-- OPTIONAL uint32 SHM only-->
108 <healthy_check_timeout_ms>250</healthy_check_timeout_ms> <!-- OPTIONAL uint32 SHM only-->
109 <rtps_dump_file>test_file.dump</rtps_dump_file> <!-- OPTIONAL string SHM only-->
110 <default_reception_threads> <!-- OPTIONAL -->
111 <scheduling_policy>-1</scheduling_policy>
112 <priority>0</priority>
113 <affinity>0</affinity>
114 <stack_size>-1</stack_size>
115 </default_reception_threads>
116 <reception_threads> <!-- OPTIONAL -->
117 <reception_thread port="12345">
118 <scheduling_policy>-1</scheduling_policy>
119 <priority>0</priority>
120 <affinity>0</affinity>
121 <stack_size>-1</stack_size>
122 </reception_thread>
123 </reception_threads>
124 <dump_thread>
125 <scheduling_policy>-1</scheduling_policy>
126 <priority>0</priority>
127 <affinity>0</affinity>
128 <stack_size>-1</stack_size>
129 </dump_thread>
130 </transport_descriptor>
131 </transport_descriptors>
132
133 <domainparticipant_factory profile_name="domainparticipant_factory_profile_name">
134 <qos>
135 <entity_factory>
136 <autoenable_created_entities>true</autoenable_created_entities>
137 </entity_factory>
138 <shm_watchdog_thread>
139 <scheduling_policy>-1</scheduling_policy>
140 <priority>0</priority>
141 <affinity>0</affinity>
142 <stack_size>-1</stack_size>
143 </shm_watchdog_thread>
144 <file_watch_threads>
145 <scheduling_policy>-1</scheduling_policy>
146 <priority>0</priority>
147 <affinity>0</affinity>
148 <stack_size>-1</stack_size>
149 </file_watch_threads>
150 </qos>
151 </domainparticipant_factory>
152
153 <participant profile_name="participant_profile_example">
154 <domainId>4</domainId>
155 <rtps>
156 <name>Participant Name</name> <!-- String -->
157
158 <defaultUnicastLocatorList>
159 <locator>
160 <udpv4>
161 <!-- Access as physical, like UDP -->
162 <port>7400</port>
163 <address>localhost</address>
164 </udpv4>
165 </locator>
166 <locator>
167 <tcpv4>
168 <!-- Both physical and logical (port), like TCP -->
169 <physical_port>5100</physical_port>
170 <port>7400</port>
171 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
172 <wan_address>80.80.99.45</wan_address>
173 <address>192.168.1.55</address>
174 </tcpv4>
175 </locator>
176 <locator>
177 <udpv6>
178 <port>8844</port>
179 <address>::1</address>
180 </udpv6>
181 </locator>
182 </defaultUnicastLocatorList>
183
184 <defaultMulticastLocatorList>
185 <locator>
186 <udpv4>
187 <!-- Access as physical, like UDP -->
188 <port>7400</port>
189 <address>192.168.1.41</address>
190 </udpv4>
191 </locator>
192 <locator>
193 <tcpv4>
194 <!-- Both physical and logical (port), like TCP -->
195 <physical_port>5100</physical_port>
196 <port>7400</port>
197 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
198 <wan_address>80.80.99.45</wan_address>
199 <address>192.168.1.55</address>
200 </tcpv4>
201 </locator>
202 <locator>
203 <udpv6>
204 <port>8844</port>
205 <address>::1</address>
206 </udpv6>
207 </locator>
208 </defaultMulticastLocatorList>
209
210 <default_external_unicast_locators>
211 <!-- EXTERNAL_LOCATOR_LIST -->
212 <udpv4 externality="1" cost="0" mask="24">
213 <address>100.100.100.10</address>
214 <port>23456</port>
215 </udpv4>
216 <udpv6 externality="1" cost="1" mask="48">
217 <address>::1</address>
218 <port>1234</port>
219 </udpv6>
220 </default_external_unicast_locators>
221
222 <ignore_non_matching_locators>true</ignore_non_matching_locators>
223 <sendSocketBufferSize>8192</sendSocketBufferSize>
224 <listenSocketBufferSize>8192</listenSocketBufferSize>
225 <netmask_filter>AUTO</netmask_filter>
226
227 <builtin>
228 <discovery_config>
229 <discoveryProtocol>NONE</discoveryProtocol>
230 <discoveryServersList>
231 <RemoteServer prefix="72.61.73.70.66.61.72.6d.74.65.73.74">
232 <metatrafficUnicastLocatorList>
233 <locator>
234 <udpv4>
235 <address>192.168.10.57</address>
236 <port>56542</port>
237 </udpv4>
238 </locator>
239 </metatrafficUnicastLocatorList>
240 <metatrafficMulticastLocatorList>
241 <locator>
242 <udpv4>
243 <address>192.168.10.58</address>
244 <port>24565</port>
245 </udpv4>
246 </locator>
247 </metatrafficMulticastLocatorList>
248 </RemoteServer>
249 <RemoteServer prefix="72.61.73.70.66.61.72.6d.74.65.73.75">
250 <metatrafficUnicastLocatorList>
251 <locator>
252 <udpv4>
253 <address>192.168.10.59</address>
254 <port>56543</port>
255 </udpv4>
256 </locator>
257 </metatrafficUnicastLocatorList>
258 <metatrafficMulticastLocatorList>
259 <locator>
260 <udpv4>
261 <address>192.168.10.60</address>
262 <port>34565</port>
263 </udpv4>
264 </locator>
265 </metatrafficMulticastLocatorList>
266 </RemoteServer>
267 </discoveryServersList>
268 <ignoreParticipantFlags>FILTER_DIFFERENT_PROCESS|FILTER_SAME_PROCESS</ignoreParticipantFlags>
269 <EDP>SIMPLE</EDP>
270 <simpleEDP>
271 <PUBWRITER_SUBREADER>true</PUBWRITER_SUBREADER>
272 <PUBREADER_SUBWRITER>true</PUBREADER_SUBWRITER>
273 </simpleEDP>
274 <leaseDuration>
275 <sec>DURATION_INFINITY</sec>
276 </leaseDuration>
277 <leaseAnnouncement>
278 <sec>1</sec>
279 <nanosec>856000</nanosec>
280 </leaseAnnouncement>
281 <initialAnnouncements>
282 <count>10</count>
283 <period>
284 <nanosec>50</nanosec>
285 </period>
286 </initialAnnouncements>
287 <clientAnnouncementPeriod>
288 <nanosec>250000000</nanosec>
289 </clientAnnouncementPeriod>
290 <static_edp_xml_config>filename1.xml</static_edp_xml_config>
291 <static_edp_xml_config>filename2.xml</static_edp_xml_config>
292 <static_edp_xml_config>filename3.xml</static_edp_xml_config>
293 </discovery_config>
294
295 <avoid_builtin_multicast>true</avoid_builtin_multicast>
296 <use_WriterLivelinessProtocol>false</use_WriterLivelinessProtocol>
297
298 <metatrafficUnicastLocatorList>
299 <locator>
300 <udpv4>
301 <!-- Access as physical, like UDP -->
302 <port>7400</port>
303 <address>192.168.1.41</address>
304 </udpv4>
305 </locator>
306 <locator>
307 <tcpv4>
308 <!-- Both physical and logical (port), like TCP -->
309 <physical_port>5100</physical_port>
310 <port>7400</port>
311 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
312 <wan_address>80.80.99.45</wan_address>
313 <address>192.168.1.55</address>
314 </tcpv4>
315 </locator>
316 <locator>
317 <udpv6>
318 <port>8844</port>
319 <address>::1</address>
320 </udpv6>
321 </locator>
322 </metatrafficUnicastLocatorList>
323
324 <metatrafficMulticastLocatorList>
325 <locator>
326 <udpv4>
327 <!-- Access as physical, like UDP -->
328 <port>7400</port>
329 <address>192.168.1.41</address>
330 </udpv4>
331 </locator>
332 <locator>
333 <tcpv4>
334 <!-- Both physical and logical (port), like TCP -->
335 <physical_port>5100</physical_port>
336 <port>7400</port>
337 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
338 <wan_address>80.80.99.45</wan_address>
339 <address>192.168.1.55</address>
340 </tcpv4>
341 </locator>
342 <locator>
343 <udpv6>
344 <port>8844</port>
345 <address>::1</address>
346 </udpv6>
347 </locator>
348 </metatrafficMulticastLocatorList>
349
350 <initialPeersList>
351 <locator>
352 <udpv4>
353 <!-- Access as physical, like UDP -->
354 <port>7400</port>
355 <address>192.168.1.41</address>
356 </udpv4>
357 </locator>
358 <locator>
359 <tcpv4>
360 <!-- Both physical and logical (port), like TCP -->
361 <physical_port>5100</physical_port>
362 <port>7400</port>
363 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
364 <wan_address>80.80.99.45</wan_address>
365 <address>192.168.1.55</address>
366 </tcpv4>
367 </locator>
368 <locator>
369 <udpv6>
370 <port>8844</port>
371 <address>::1</address>
372 </udpv6>
373 </locator>
374 </initialPeersList>
375
376 <metatraffic_external_unicast_locators>
377 <udpv4 externality="1" cost="0" mask="24">
378 <address>100.100.100.10</address>
379 <port>34567</port>
380 </udpv4>
381 </metatraffic_external_unicast_locators>
382
383 <readerHistoryMemoryPolicy>PREALLOCATED_WITH_REALLOC</readerHistoryMemoryPolicy>
384 <writerHistoryMemoryPolicy>PREALLOCATED</writerHistoryMemoryPolicy>
385 <readerPayloadSize>512</readerPayloadSize>
386 <writerPayloadSize>512</writerPayloadSize>
387 <mutation_tries>55</mutation_tries>
388 <typelookup_config>
389 <use_client>true</use_client>
390 <use_server>true</use_server>
391 </typelookup_config>
392 </builtin>
393
394 <port>
395 <portBase>7400</portBase>
396 <domainIDGain>200</domainIDGain>
397 <participantIDGain>10</participantIDGain>
398 <offsetd0>0</offsetd0>
399 <offsetd1>1</offsetd1>
400 <offsetd2>2</offsetd2>
401 <offsetd3>3</offsetd3>
402 </port>
403
404 <participantID>99</participantID>
405
406 <userTransports>
407 <transport_id>ExampleTransportId1</transport_id>
408 <transport_id>ExampleTransportId2</transport_id>
409 </userTransports>
410
411 <useBuiltinTransports>false</useBuiltinTransports>
412
413 <builtinTransports max_msg_size="50KB" sockets_size="50KB" non_blocking="false">DEFAULT</builtinTransports>
414
415 <propertiesPolicy>
416 <properties>
417 <property>
418 <name>Property1Name</name>
419 <value>Property1Value</value>
420 <propagate>false</propagate>
421 </property>
422 <property>
423 <name>Property2Name</name>
424 <value>Property2Value</value>
425 <propagate>false</propagate>
426 </property>
427 </properties>
428 </propertiesPolicy>
429
430 <allocation>
431 <remote_locators>
432 <max_unicast_locators>4</max_unicast_locators> <!-- uint32 -->
433 <max_multicast_locators>1</max_multicast_locators> <!-- uint32 -->
434 </remote_locators>
435 <total_participants>
436 <initial>0</initial>
437 <maximum>0</maximum>
438 <increment>1</increment>
439 </total_participants>
440 <total_readers>
441 <initial>0</initial>
442 <maximum>0</maximum>
443 <increment>1</increment>
444 </total_readers>
445 <total_writers>
446 <initial>0</initial>
447 <maximum>0</maximum>
448 <increment>1</increment>
449 </total_writers>
450 <max_partitions>256</max_partitions>
451 <max_user_data>256</max_user_data>
452 <max_properties>512</max_properties>
453 <send_buffers>
454 <preallocated_number>127</preallocated_number>
455 <dynamic>true</dynamic>
456 </send_buffers>
457 </allocation>
458
459 <builtin_controllers_sender_thread>
460 <scheduling_policy>-1</scheduling_policy>
461 <priority>0</priority>
462 <affinity>0</affinity>
463 <stack_size>-1</stack_size>
464 </builtin_controllers_sender_thread>
465
466 <timed_events_thread>
467 <scheduling_policy>-1</scheduling_policy>
468 <priority>0</priority>
469 <affinity>0</affinity>
470 <stack_size>-1</stack_size>
471 </timed_events_thread>
472
473 <discovery_server_thread>
474 <scheduling_policy>-1</scheduling_policy>
475 <priority>0</priority>
476 <affinity>0</affinity>
477 <stack_size>-1</stack_size>
478 </discovery_server_thread>
479
480 <builtin_transports_reception_threads>
481 <scheduling_policy>-1</scheduling_policy>
482 <priority>0</priority>
483 <affinity>0</affinity>
484 <stack_size>-1</stack_size>
485 </builtin_transports_reception_threads>
486
487 <security_log_thread>
488 <scheduling_policy>-1</scheduling_policy>
489 <priority>0</priority>
490 <affinity>0</affinity>
491 <stack_size>-1</stack_size>
492 </security_log_thread>
493
494 <flow_controller_descriptor_list>
495 <flow_controller_descriptor>
496 <name>example_flow_controller</name>
497 <scheduler>FIFO</scheduler>
498 <max_bytes_per_period>4096</max_bytes_per_period>
499 <period_ms>500</period_ms>
500 <sender_thread>
501 <scheduling_policy>-1</scheduling_policy>
502 <priority>0</priority>
503 <affinity>0</affinity>
504 <stack_size>-1</stack_size>
505 </sender_thread>
506 </flow_controller_descriptor>
507 </flow_controller_descriptor_list>
508 </rtps>
509 </participant>
510
511 <data_writer profile_name="datawriter_profile_example">
512 <topic>
513 <historyQos>
514 <kind>KEEP_LAST</kind>
515 <depth>20</depth>
516 </historyQos>
517 <resourceLimitsQos>
518 <max_samples>5</max_samples>
519 <max_instances>2</max_instances>
520 <max_samples_per_instance>1</max_samples_per_instance>
521 <allocated_samples>20</allocated_samples>
522 <extra_samples>10</extra_samples>
523 </resourceLimitsQos>
524 </topic>
525 <qos> <!-- dataWriterQosPoliciesType -->
526 <data_sharing>
527 <kind>AUTOMATIC</kind>
528 <shared_dir>/home</shared_dir>
529 <max_domains>10</max_domains>
530 <domain_ids>
531 <domainId>0</domainId>
532 <domainId>11</domainId>
533 </domain_ids>
534 </data_sharing>
535 <deadline>
536 <period>
537 <sec>1</sec>
538 </period>
539 </deadline>
540 <disable_heartbeat_piggyback>true</disable_heartbeat_piggyback>
541 <disablePositiveAcks>
542 <enabled>true</enabled>
543 <duration>
544 <sec>1</sec>
545 </duration>
546 </disablePositiveAcks>
547 <durability>
548 <kind>VOLATILE</kind>
549 </durability>
550 <!-- QoS policy pending implementation -->
551 <latencyBudget>
552 <duration>
553 <sec>1</sec>
554 </duration>
555 </latencyBudget>
556 <lifespan>
557 <duration>
558 <sec>5</sec>
559 </duration>
560 </lifespan>
561 <liveliness>
562 <kind>AUTOMATIC</kind>
563 <lease_duration>
564 <sec>1</sec>
565 <nanosec>856000</nanosec>
566 </lease_duration>
567 <announcement_period>
568 <sec>1</sec>
569 <nanosec>856000</nanosec>
570 </announcement_period>
571 </liveliness>
572 <ownership>
573 <kind>EXCLUSIVE</kind>
574 </ownership>
575 <ownershipStrength>
576 <value>50</value>
577 </ownershipStrength>
578 <partition>
579 <names>
580 <name>part1</name>
581 <name>part2</name>
582 </names>
583 </partition>
584 <publishMode>
585 <kind>ASYNCHRONOUS</kind>
586 <flow_controller_name>example_flow_controller</flow_controller_name>
587 </publishMode>
588 <reliability>
589 <kind>BEST_EFFORT</kind>
590 <max_blocking_time>
591 <sec>1</sec>
592 <nanosec>856000</nanosec>
593 </max_blocking_time>
594 </reliability>
595 </qos>
596
597 <times>
598 <initialHeartbeatDelay>
599 <sec>1</sec>
600 <nanosec>856000</nanosec>
601 </initialHeartbeatDelay>
602 <heartbeatPeriod>
603 <sec>1</sec>
604 <nanosec>856000</nanosec>
605 </heartbeatPeriod>
606 <nackResponseDelay>
607 <sec>1</sec>
608 <nanosec>856000</nanosec>
609 </nackResponseDelay>
610 <nackSupressionDuration>
611 <sec>1</sec>
612 <nanosec>856000</nanosec>
613 </nackSupressionDuration>
614 </times>
615
616 <unicastLocatorList>
617 <locator>
618 <udpv4>
619 <!-- Access as physical, like UDP -->
620 <port>7400</port>
621 <address>192.168.1.41</address>
622 </udpv4>
623 </locator>
624 <locator>
625 <tcpv4>
626 <!-- Both physical and logical (port), like TCP -->
627 <physical_port>5100</physical_port>
628 <port>7400</port>
629 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
630 <wan_address>80.80.99.45</wan_address>
631 <address>192.168.1.55</address>
632 </tcpv4>
633 </locator>
634 <locator>
635 <udpv6>
636 <port>8844</port>
637 <address>::1</address>
638 </udpv6>
639 </locator>
640 </unicastLocatorList>
641
642 <multicastLocatorList>
643 <locator>
644 <udpv4>
645 <!-- Access as physical, like UDP -->
646 <port>7400</port>
647 <address>192.168.1.41</address>
648 </udpv4>
649 </locator>
650 <locator>
651 <tcpv4>
652 <!-- Both physical and logical (port), like TCP -->
653 <physical_port>5100</physical_port>
654 <port>7400</port>
655 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
656 <wan_address>80.80.99.45</wan_address>
657 <address>192.168.1.55</address>
658 </tcpv4>
659 </locator>
660 <locator>
661 <udpv6>
662 <port>8844</port>
663 <address>::1</address>
664 </udpv6>
665 </locator>
666 </multicastLocatorList>
667
668 <external_unicast_locators>
669 <udpv4 externality="1" cost="0" mask="24">
670 <address>100.100.100.10</address>
671 <port>12345</port>
672 </udpv4>
673 </external_unicast_locators>
674
675 <ignore_non_matching_locators>true</ignore_non_matching_locators>
676 <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
677
678 <propertiesPolicy>
679 <properties>
680 <property>
681 <name>Property1Name</name>
682 <value>Property1Value</value>
683 <propagate>false</propagate>
684 </property>
685 <property>
686 <name>Property2Name</name>
687 <value>Property2Value</value>
688 <propagate>false</propagate>
689 </property>
690 </properties>
691 </propertiesPolicy>
692
693 <userDefinedID>45</userDefinedID>
694 <entityID>76</entityID>
695
696 <matchedSubscribersAllocation>
697 <initial>3</initial>
698 <maximum>3</maximum>
699 <increment>0</increment>
700 </matchedSubscribersAllocation>
701 </data_writer>
702
703 <data_reader profile_name="datareader_profile_example">
704 <topic>
705 <historyQos>
706 <kind>KEEP_LAST</kind>
707 <depth>20</depth>
708 </historyQos>
709 <resourceLimitsQos>
710 <max_samples>5</max_samples>
711 <max_instances>2</max_instances>
712 <max_samples_per_instance>1</max_samples_per_instance>
713 <allocated_samples>20</allocated_samples>
714 <extra_samples>10</extra_samples>
715 </resourceLimitsQos>
716 </topic>
717 <qos> <!-- dataReaderQosPoliciesType -->
718 <data_sharing>
719 <kind>AUTOMATIC</kind>
720 <shared_dir>/home</shared_dir>
721 <max_domains>10</max_domains>
722 <domain_ids>
723 <domainId>0</domainId>
724 <domainId>11</domainId>
725 </domain_ids>
726 <data_sharing_listener_thread>
727 <scheduling_policy>-1</scheduling_policy>
728 <priority>0</priority>
729 <affinity>0</affinity>
730 <stack_size>-1</stack_size>
731 </data_sharing_listener_thread>
732 </data_sharing>
733 <deadline>
734 <period>
735 <sec>1</sec>
736 </period>
737 </deadline>
738 <disablePositiveAcks>
739 <enabled>true</enabled>
740 <duration>
741 <sec>1</sec>
742 </duration>
743 </disablePositiveAcks>
744 <durability>
745 <kind>PERSISTENT</kind>
746 </durability>
747 <!-- QoS policy pending implementation -->
748 <latencyBudget>
749 <duration>
750 <sec>1</sec>
751 </duration>
752 </latencyBudget>
753 <lifespan>
754 <duration>
755 <sec>5</sec>
756 </duration>
757 </lifespan>
758 <liveliness>
759 <kind>MANUAL_BY_PARTICIPANT</kind>
760 <lease_duration>
761 <sec>1</sec>
762 <nanosec>856000</nanosec>
763 </lease_duration>
764 <announcement_period>
765 <sec>1</sec>
766 <nanosec>856000</nanosec>
767 </announcement_period>
768 </liveliness>
769 <ownership>
770 <kind>EXCLUSIVE</kind>
771 </ownership>
772 <partition>
773 <names>
774 <name>part1</name>
775 <name>part2</name>
776 </names>
777 </partition>
778 <reliability>
779 <kind>BEST_EFFORT</kind>
780 <max_blocking_time>
781 <sec>1</sec>
782 <nanosec>856000</nanosec>
783 </max_blocking_time>
784 </reliability>
785 </qos>
786
787 <times>
788 <initialAcknackDelay>
789 <sec>1</sec>
790 <nanosec>856000</nanosec>
791 </initialAcknackDelay>
792 <heartbeatResponseDelay>
793 <sec>1</sec>
794 <nanosec>856000</nanosec>
795 </heartbeatResponseDelay>
796 </times>
797
798 <unicastLocatorList>
799 <locator>
800 <udpv4>
801 <!-- Access as physical, like UDP -->
802 <port>7400</port>
803 <address>192.168.1.41</address>
804 </udpv4>
805 </locator>
806 <locator>
807 <tcpv4>
808 <!-- Both physical and logical (port), like TCP -->
809 <physical_port>5100</physical_port>
810 <port>7400</port>
811 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
812 <wan_address>80.80.99.45</wan_address>
813 <address>192.168.1.55</address>
814 </tcpv4>
815 </locator>
816 <locator>
817 <udpv6>
818 <port>8844</port>
819 <address>::1</address>
820 </udpv6>
821 </locator>
822 </unicastLocatorList>
823
824 <multicastLocatorList>
825 <locator>
826 <udpv4>
827 <!-- Access as physical, like UDP -->
828 <port>7400</port>
829 <address>192.168.1.41</address>
830 </udpv4>
831 </locator>
832 <locator>
833 <tcpv4>
834 <!-- Both physical and logical (port), like TCP -->
835 <physical_port>5100</physical_port>
836 <port>7400</port>
837 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
838 <wan_address>80.80.99.45</wan_address>
839 <address>192.168.1.55</address>
840 </tcpv4>
841 </locator>
842 <locator>
843 <udpv6>
844 <port>8844</port>
845 <address>::1</address>
846 </udpv6>
847 </locator>
848 </multicastLocatorList>
849
850 <external_unicast_locators>
851 <udpv4 externality="1" cost="0" mask="24">
852 <address>100.100.100.10</address>
853 <port>12345</port>
854 </udpv4>
855 </external_unicast_locators>
856
857 <ignore_non_matching_locators>true</ignore_non_matching_locators>
858 <expectsInlineQos>true</expectsInlineQos>
859 <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
860
861 <propertiesPolicy>
862 <properties>
863 <property>
864 <name>Property1Name</name>
865 <value>Property1Value</value>
866 <propagate>false</propagate>
867 </property>
868 <property>
869 <name>Property2Name</name>
870 <value>Property2Value</value>
871 <propagate>false</propagate>
872 </property>
873 </properties>
874 </propertiesPolicy>
875
876 <userDefinedID>55</userDefinedID>
877 <entityID>66</entityID>
878
879 <matchedPublishersAllocation>
880 <initial>1</initial>
881 <maximum>1</maximum>
882 <increment>0</increment>
883 </matchedPublishersAllocation>
884 </data_reader>
885
886 <topic profile_name="topic_profile_example">
887 <historyQos>
888 <kind>KEEP_LAST</kind>
889 <depth>20</depth>
890 </historyQos>
891 <resourceLimitsQos>
892 <max_samples>5</max_samples>
893 <max_instances>2</max_instances>
894 <max_samples_per_instance>1</max_samples_per_instance>
895 <allocated_samples>20</allocated_samples>
896 <extra_samples>10</extra_samples>
897 </resourceLimitsQos>
898 </topic>
899 </profiles>
900
901 <library_settings>
902 <intraprocess_delivery>USER_DATA_ONLY</intraprocess_delivery>
903 </library_settings>
904
905 <log>
906 <use_default>false</use_default>
907
908 <consumer>
909 <class>StdoutConsumer</class>
910 </consumer>
911
912 <consumer>
913 <class>StdoutErrConsumer</class>
914 <property>
915 <name>stderr_threshold</name>
916 <value>Log::Kind::Warning</value>
917 </property>
918 </consumer>
919
920 <consumer>
921 <class>FileConsumer</class>
922 <property>
923 <name>filename</name>
924 <value>execution.log</value>
925 </property>
926 <property>
927 <name>append</name>
928 <value>TRUE</value>
929 </property>
930 </consumer>
931
932 <thread_settings>
933 <scheduling_policy>-1</scheduling_policy>
934 <priority>0</priority>
935 <affinity>0</affinity>
936 <stack_size>-1</stack_size>
937 </thread_settings>
938 </log>
939
940 <types>
941 <type> <!-- Types can be defined in its own type of tag or sharing the same tag -->
942 <enum name="MyAloneEnumType">
943 <enumerator name="A" value="0"/>
944 <enumerator name="B" value="1"/>
945 <enumerator name="C"/>
946 </enum>
947 </type>
948 <type>
949 <!-- All possible members struct type -->
950 <struct name="MyFullStruct">
951 <!-- Primitives & basic -->
952 <member name="my_bool" type="boolean"/>
953 <member name="my_char" type="char8"/>
954 <member name="my_wchar" type="char16"/>
955 <member name="my_byte" type="byte"/>
956 <member name="my_octet" type="octet"/>
957 <member name="my_uint8" type="uint8"/>
958 <member name="my_short" type="int16"/>
959 <member name="my_long" type="int32"/>
960 <member name="my_unsignedshort" type="uint16"/>
961 <member name="my_unsignedlong" type="uint32"/>
962 <member name="my_longlong" type="int64"/>
963 <member name="my_unsignedlonglong" type="uint64"/>
964 <member name="my_float" type="float32"/>
965 <member name="my_double" type="float64"/>
966 <member name="my_longdouble" type="float128"/>
967 <member name="my_string" type="string"/>
968 <member name="my_wstring" type="wstring"/>
969
970 <!-- string my_boundedString[41925] -->
971 <member name="my_boundedString" type="string" stringMaxLength="41925"/>
972 <!-- wstring my_boundedWString[41925] -->
973 <member name="my_boundedWString" type="wstring" stringMaxLength="41925"/>
974
975 <!-- short short_sequence[5]; -->
976 <member name="short_sequence" sequenceMaxLength="5" type="int16"/>
977
978 <!-- long long_array[2][3][4]; -->
979 <member name="long_array" arrayDimensions="2,3,4" type="int32"/>
980
981 <!-- map<long,long,2> my_map_inner -->
982 <member name="my_map" type="int32" key_type="int32" mapMaxLength="2"/>
983 </struct>
984
985 <typedef name="inner_map" type="char8" key_type="int16"/>
986 <struct name="MyComplexStruct">
987 <!-- Complex types -->
988 <member name="my_other_struct" type="nonBasic" nonBasicTypeName="MyFullStruct"/>
989 <!-- map<long,map<long,long,2>,2> my_map_map; -->
990 <member name="my_map_map" type="nonBasic" nonBasicTypeName="inner_map" key_type="int32" mapMaxLength="2"/>
991 </struct>
992
993 <enum name="MyEnum">
994 <enumerator name="A" value="0"/>
995 <enumerator name="B" value="1"/>
996 <enumerator name="C"/>
997 </enum>
998
999 <typedef name="MyAlias1" type="nonBasic" nonBasicTypeName="MyEnum"/>
1000 <typedef name="MyAlias2" type="int32" arrayDimensions="2,2"/>
1001
1002 <struct name="MyStruct">
1003 <member name="first" type="int32"/>
1004 <member name="second" type="int64"/>
1005 </struct>
1006
1007 <struct name="OtherInheritedStruct" baseType="MyStruct">
1008 <member name="my_enum" type="nonBasic" nonBasicTypeName="MyEnum"/>
1009 <member name="my_struct" type="nonBasic" nonBasicTypeName="MyFullStruct" arrayDimensions="5"/>
1010 </struct>
1011
1012 <union name="MyUnion1">
1013 <discriminator type="byte"/>
1014 <case>
1015 <caseDiscriminator value="0"/>
1016 <caseDiscriminator value="1"/>
1017 <member name="first" type="int32"/>
1018 </case>
1019 <case>
1020 <caseDiscriminator value="2"/>
1021 <member name="second" type="nonBasic" nonBasicTypeName="MyStruct"/>
1022 </case>
1023 <case>
1024 <caseDiscriminator value="default"/>
1025 <member name="third" type="int64"/>
1026 </case>
1027 </union>
1028
1029 <bitset name="MyBitSet">
1030 <bitfield name="a" bit_bound="3"/>
1031 <bitfield name="b" bit_bound="10"/>
1032 <bitfield name="c" bit_bound="12" type="int16"/>
1033 </bitset>
1034
1035 <bitset name="OtherInheritedBitSet" baseType="MyBitSet">
1036 <bitfield bit_bound="8"/>
1037 <bitfield bit_bound="15" type="byte"/>
1038 </bitset>
1039
1040 <bitmask name="MyBitMask" bit_bound="8">
1041 <bit_value name="flag0" position="0"/>
1042 <bit_value name="flag1"/>
1043 </bitmask>
1044 </type>
1045 </types>
1046</dds>