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">
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 </builtin>
389
390 <port>
391 <portBase>7400</portBase>
392 <domainIDGain>200</domainIDGain>
393 <participantIDGain>10</participantIDGain>
394 <offsetd0>0</offsetd0>
395 <offsetd1>1</offsetd1>
396 <offsetd2>2</offsetd2>
397 <offsetd3>3</offsetd3>
398 </port>
399
400 <participantID>99</participantID>
401
402 <userTransports>
403 <transport_id>ExampleTransportId1</transport_id>
404 <transport_id>ExampleTransportId2</transport_id>
405 </userTransports>
406
407 <useBuiltinTransports>false</useBuiltinTransports>
408
409 <builtinTransports max_msg_size="50KB" sockets_size="50KB" non_blocking="false">DEFAULT</builtinTransports>
410
411 <propertiesPolicy>
412 <properties>
413 <property>
414 <name>Property1Name</name>
415 <value>Property1Value</value>
416 <propagate>false</propagate>
417 </property>
418 <property>
419 <name>Property2Name</name>
420 <value>Property2Value</value>
421 <propagate>false</propagate>
422 </property>
423 </properties>
424 </propertiesPolicy>
425
426 <allocation>
427 <remote_locators>
428 <max_unicast_locators>4</max_unicast_locators> <!-- uint32 -->
429 <max_multicast_locators>1</max_multicast_locators> <!-- uint32 -->
430 </remote_locators>
431 <total_participants>
432 <initial>0</initial>
433 <maximum>0</maximum>
434 <increment>1</increment>
435 </total_participants>
436 <total_readers>
437 <initial>0</initial>
438 <maximum>0</maximum>
439 <increment>1</increment>
440 </total_readers>
441 <total_writers>
442 <initial>0</initial>
443 <maximum>0</maximum>
444 <increment>1</increment>
445 </total_writers>
446 <max_partitions>256</max_partitions>
447 <max_user_data>256</max_user_data>
448 <max_properties>512</max_properties>
449 <send_buffers>
450 <preallocated_number>127</preallocated_number>
451 <dynamic>true</dynamic>
452 </send_buffers>
453 </allocation>
454
455 <builtin_controllers_sender_thread>
456 <scheduling_policy>-1</scheduling_policy>
457 <priority>0</priority>
458 <affinity>0</affinity>
459 <stack_size>-1</stack_size>
460 </builtin_controllers_sender_thread>
461
462 <timed_events_thread>
463 <scheduling_policy>-1</scheduling_policy>
464 <priority>0</priority>
465 <affinity>0</affinity>
466 <stack_size>-1</stack_size>
467 </timed_events_thread>
468
469 <discovery_server_thread>
470 <scheduling_policy>-1</scheduling_policy>
471 <priority>0</priority>
472 <affinity>0</affinity>
473 <stack_size>-1</stack_size>
474 </discovery_server_thread>
475
476 <typelookup_service_thread>
477 <scheduling_policy>-1</scheduling_policy>
478 <priority>0</priority>
479 <affinity>0</affinity>
480 <stack_size>-1</stack_size>
481 </typelookup_service_thread>
482
483 <builtin_transports_reception_threads>
484 <scheduling_policy>-1</scheduling_policy>
485 <priority>0</priority>
486 <affinity>0</affinity>
487 <stack_size>-1</stack_size>
488 </builtin_transports_reception_threads>
489
490 <security_log_thread>
491 <scheduling_policy>-1</scheduling_policy>
492 <priority>0</priority>
493 <affinity>0</affinity>
494 <stack_size>-1</stack_size>
495 </security_log_thread>
496 </rtps>
497 </participant>
498
499 <data_writer profile_name="datawriter_profile_example">
500 <topic>
501 <historyQos>
502 <kind>KEEP_LAST</kind>
503 <depth>20</depth>
504 </historyQos>
505 <resourceLimitsQos>
506 <max_samples>5</max_samples>
507 <max_instances>2</max_instances>
508 <max_samples_per_instance>1</max_samples_per_instance>
509 <allocated_samples>20</allocated_samples>
510 <extra_samples>10</extra_samples>
511 </resourceLimitsQos>
512 </topic>
513 <qos> <!-- dataWriterQosPoliciesType -->
514 <data_sharing>
515 <kind>AUTOMATIC</kind>
516 <shared_dir>/home</shared_dir>
517 <max_domains>10</max_domains>
518 <domain_ids>
519 <domainId>0</domainId>
520 <domainId>11</domainId>
521 </domain_ids>
522 </data_sharing>
523 <deadline>
524 <period>
525 <sec>1</sec>
526 </period>
527 </deadline>
528 <disable_heartbeat_piggyback>true</disable_heartbeat_piggyback>
529 <disablePositiveAcks>
530 <enabled>true</enabled>
531 <duration>
532 <sec>1</sec>
533 </duration>
534 </disablePositiveAcks>
535 <durability>
536 <kind>VOLATILE</kind>
537 </durability>
538 <!-- QoS policy pending implementation -->
539 <latencyBudget>
540 <duration>
541 <sec>1</sec>
542 </duration>
543 </latencyBudget>
544 <lifespan>
545 <duration>
546 <sec>5</sec>
547 </duration>
548 </lifespan>
549 <liveliness>
550 <kind>AUTOMATIC</kind>
551 <lease_duration>
552 <sec>1</sec>
553 <nanosec>856000</nanosec>
554 </lease_duration>
555 <announcement_period>
556 <sec>1</sec>
557 <nanosec>856000</nanosec>
558 </announcement_period>
559 </liveliness>
560 <ownership>
561 <kind>EXCLUSIVE</kind>
562 </ownership>
563 <ownershipStrength>
564 <value>50</value>
565 </ownershipStrength>
566 <partition>
567 <names>
568 <name>part1</name>
569 <name>part2</name>
570 </names>
571 </partition>
572 <publishMode>
573 <kind>ASYNCHRONOUS</kind>
574 </publishMode>
575 <reliability>
576 <kind>BEST_EFFORT</kind>
577 <max_blocking_time>
578 <sec>1</sec>
579 <nanosec>856000</nanosec>
580 </max_blocking_time>
581 </reliability>
582 </qos>
583
584 <times>
585 <initialHeartbeatDelay>
586 <sec>1</sec>
587 <nanosec>856000</nanosec>
588 </initialHeartbeatDelay>
589 <heartbeatPeriod>
590 <sec>1</sec>
591 <nanosec>856000</nanosec>
592 </heartbeatPeriod>
593 <nackResponseDelay>
594 <sec>1</sec>
595 <nanosec>856000</nanosec>
596 </nackResponseDelay>
597 <nackSupressionDuration>
598 <sec>1</sec>
599 <nanosec>856000</nanosec>
600 </nackSupressionDuration>
601 </times>
602
603 <unicastLocatorList>
604 <locator>
605 <udpv4>
606 <!-- Access as physical, like UDP -->
607 <port>7400</port>
608 <address>192.168.1.41</address>
609 </udpv4>
610 </locator>
611 <locator>
612 <tcpv4>
613 <!-- Both physical and logical (port), like TCP -->
614 <physical_port>5100</physical_port>
615 <port>7400</port>
616 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
617 <wan_address>80.80.99.45</wan_address>
618 <address>192.168.1.55</address>
619 </tcpv4>
620 </locator>
621 <locator>
622 <udpv6>
623 <port>8844</port>
624 <address>::1</address>
625 </udpv6>
626 </locator>
627 </unicastLocatorList>
628
629 <multicastLocatorList>
630 <locator>
631 <udpv4>
632 <!-- Access as physical, like UDP -->
633 <port>7400</port>
634 <address>192.168.1.41</address>
635 </udpv4>
636 </locator>
637 <locator>
638 <tcpv4>
639 <!-- Both physical and logical (port), like TCP -->
640 <physical_port>5100</physical_port>
641 <port>7400</port>
642 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
643 <wan_address>80.80.99.45</wan_address>
644 <address>192.168.1.55</address>
645 </tcpv4>
646 </locator>
647 <locator>
648 <udpv6>
649 <port>8844</port>
650 <address>::1</address>
651 </udpv6>
652 </locator>
653 </multicastLocatorList>
654
655 <external_unicast_locators>
656 <udpv4 externality="1" cost="0" mask="24">
657 <address>100.100.100.10</address>
658 <port>12345</port>
659 </udpv4>
660 </external_unicast_locators>
661
662 <ignore_non_matching_locators>true</ignore_non_matching_locators>
663 <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
664
665 <propertiesPolicy>
666 <properties>
667 <property>
668 <name>Property1Name</name>
669 <value>Property1Value</value>
670 <propagate>false</propagate>
671 </property>
672 <property>
673 <name>Property2Name</name>
674 <value>Property2Value</value>
675 <propagate>false</propagate>
676 </property>
677 </properties>
678 </propertiesPolicy>
679
680 <userDefinedID>45</userDefinedID>
681 <entityID>76</entityID>
682
683 <matchedSubscribersAllocation>
684 <initial>3</initial>
685 <maximum>3</maximum>
686 <increment>0</increment>
687 </matchedSubscribersAllocation>
688 </data_writer>
689
690 <data_reader profile_name="datareader_profile_example">
691 <topic>
692 <historyQos>
693 <kind>KEEP_LAST</kind>
694 <depth>20</depth>
695 </historyQos>
696 <resourceLimitsQos>
697 <max_samples>5</max_samples>
698 <max_instances>2</max_instances>
699 <max_samples_per_instance>1</max_samples_per_instance>
700 <allocated_samples>20</allocated_samples>
701 <extra_samples>10</extra_samples>
702 </resourceLimitsQos>
703 </topic>
704 <qos> <!-- dataReaderQosPoliciesType -->
705 <data_sharing>
706 <kind>AUTOMATIC</kind>
707 <shared_dir>/home</shared_dir>
708 <max_domains>10</max_domains>
709 <domain_ids>
710 <domainId>0</domainId>
711 <domainId>11</domainId>
712 </domain_ids>
713 <data_sharing_listener_thread>
714 <scheduling_policy>-1</scheduling_policy>
715 <priority>0</priority>
716 <affinity>0</affinity>
717 <stack_size>-1</stack_size>
718 </data_sharing_listener_thread>
719 </data_sharing>
720 <deadline>
721 <period>
722 <sec>1</sec>
723 </period>
724 </deadline>
725 <disablePositiveAcks>
726 <enabled>true</enabled>
727 <duration>
728 <sec>1</sec>
729 </duration>
730 </disablePositiveAcks>
731 <durability>
732 <kind>PERSISTENT</kind>
733 </durability>
734 <!-- QoS policy pending implementation -->
735 <latencyBudget>
736 <duration>
737 <sec>1</sec>
738 </duration>
739 </latencyBudget>
740 <lifespan>
741 <duration>
742 <sec>5</sec>
743 </duration>
744 </lifespan>
745 <liveliness>
746 <kind>MANUAL_BY_PARTICIPANT</kind>
747 <lease_duration>
748 <sec>1</sec>
749 <nanosec>856000</nanosec>
750 </lease_duration>
751 <announcement_period>
752 <sec>1</sec>
753 <nanosec>856000</nanosec>
754 </announcement_period>
755 </liveliness>
756 <ownership>
757 <kind>EXCLUSIVE</kind>
758 </ownership>
759 <partition>
760 <names>
761 <name>part1</name>
762 <name>part2</name>
763 </names>
764 </partition>
765 <reliability>
766 <kind>BEST_EFFORT</kind>
767 <max_blocking_time>
768 <sec>1</sec>
769 <nanosec>856000</nanosec>
770 </max_blocking_time>
771 </reliability>
772 </qos>
773
774 <times>
775 <initialAcknackDelay>
776 <sec>1</sec>
777 <nanosec>856000</nanosec>
778 </initialAcknackDelay>
779 <heartbeatResponseDelay>
780 <sec>1</sec>
781 <nanosec>856000</nanosec>
782 </heartbeatResponseDelay>
783 </times>
784
785 <unicastLocatorList>
786 <locator>
787 <udpv4>
788 <!-- Access as physical, like UDP -->
789 <port>7400</port>
790 <address>192.168.1.41</address>
791 </udpv4>
792 </locator>
793 <locator>
794 <tcpv4>
795 <!-- Both physical and logical (port), like TCP -->
796 <physical_port>5100</physical_port>
797 <port>7400</port>
798 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
799 <wan_address>80.80.99.45</wan_address>
800 <address>192.168.1.55</address>
801 </tcpv4>
802 </locator>
803 <locator>
804 <udpv6>
805 <port>8844</port>
806 <address>::1</address>
807 </udpv6>
808 </locator>
809 </unicastLocatorList>
810
811 <multicastLocatorList>
812 <locator>
813 <udpv4>
814 <!-- Access as physical, like UDP -->
815 <port>7400</port>
816 <address>192.168.1.41</address>
817 </udpv4>
818 </locator>
819 <locator>
820 <tcpv4>
821 <!-- Both physical and logical (port), like TCP -->
822 <physical_port>5100</physical_port>
823 <port>7400</port>
824 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
825 <wan_address>80.80.99.45</wan_address>
826 <address>192.168.1.55</address>
827 </tcpv4>
828 </locator>
829 <locator>
830 <udpv6>
831 <port>8844</port>
832 <address>::1</address>
833 </udpv6>
834 </locator>
835 </multicastLocatorList>
836
837 <external_unicast_locators>
838 <udpv4 externality="1" cost="0" mask="24">
839 <address>100.100.100.10</address>
840 <port>12345</port>
841 </udpv4>
842 </external_unicast_locators>
843
844 <ignore_non_matching_locators>true</ignore_non_matching_locators>
845 <expectsInlineQos>true</expectsInlineQos>
846 <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
847
848 <propertiesPolicy>
849 <properties>
850 <property>
851 <name>Property1Name</name>
852 <value>Property1Value</value>
853 <propagate>false</propagate>
854 </property>
855 <property>
856 <name>Property2Name</name>
857 <value>Property2Value</value>
858 <propagate>false</propagate>
859 </property>
860 </properties>
861 </propertiesPolicy>
862
863 <userDefinedID>55</userDefinedID>
864 <entityID>66</entityID>
865
866 <matchedPublishersAllocation>
867 <initial>1</initial>
868 <maximum>1</maximum>
869 <increment>0</increment>
870 </matchedPublishersAllocation>
871 </data_reader>
872
873 <topic profile_name="topic_profile_example">
874 <historyQos>
875 <kind>KEEP_LAST</kind>
876 <depth>20</depth>
877 </historyQos>
878 <resourceLimitsQos>
879 <max_samples>5</max_samples>
880 <max_instances>2</max_instances>
881 <max_samples_per_instance>1</max_samples_per_instance>
882 <allocated_samples>20</allocated_samples>
883 <extra_samples>10</extra_samples>
884 </resourceLimitsQos>
885 </topic>
886 </profiles>
887
888 <library_settings>
889 <intraprocess_delivery>USER_DATA_ONLY</intraprocess_delivery>
890 </library_settings>
891
892 <log>
893 <use_default>false</use_default>
894
895 <consumer>
896 <class>StdoutConsumer</class>
897 </consumer>
898
899 <consumer>
900 <class>StdoutErrConsumer</class>
901 <property>
902 <name>stderr_threshold</name>
903 <value>Log::Kind::Warning</value>
904 </property>
905 </consumer>
906
907 <consumer>
908 <class>FileConsumer</class>
909 <property>
910 <name>filename</name>
911 <value>execution.log</value>
912 </property>
913 <property>
914 <name>append</name>
915 <value>TRUE</value>
916 </property>
917 </consumer>
918
919 <thread_settings>
920 <scheduling_policy>-1</scheduling_policy>
921 <priority>0</priority>
922 <affinity>0</affinity>
923 <stack_size>-1</stack_size>
924 </thread_settings>
925 </log>
926
927 <types>
928 <type> <!-- Types can be defined in its own type of tag or sharing the same tag -->
929 <enum name="MyAloneEnumType">
930 <enumerator name="A" value="0"/>
931 <enumerator name="B" value="1"/>
932 <enumerator name="C"/>
933 </enum>
934 </type>
935 <type>
936 <!-- All possible members struct type -->
937 <struct name="MyFullStruct">
938 <!-- Primitives & basic -->
939 <member name="my_bool" type="boolean"/>
940 <member name="my_char" type="char8"/>
941 <member name="my_wchar" type="char16"/>
942 <member name="my_byte" type="byte"/>
943 <member name="my_octet" type="octet"/>
944 <member name="my_uint8" type="uint8"/>
945 <member name="my_short" type="int16"/>
946 <member name="my_long" type="int32"/>
947 <member name="my_unsignedshort" type="uint16"/>
948 <member name="my_unsignedlong" type="uint32"/>
949 <member name="my_longlong" type="int64"/>
950 <member name="my_unsignedlonglong" type="uint64"/>
951 <member name="my_float" type="float32"/>
952 <member name="my_double" type="float64"/>
953 <member name="my_longdouble" type="float128"/>
954 <member name="my_string" type="string"/>
955 <member name="my_wstring" type="wstring"/>
956
957 <!-- string my_boundedString[41925] -->
958 <member name="my_boundedString" type="string" stringMaxLength="41925"/>
959 <!-- wstring my_boundedWString[41925] -->
960 <member name="my_boundedWString" type="wstring" stringMaxLength="41925"/>
961
962 <!-- short short_sequence[5]; -->
963 <member name="short_sequence" sequenceMaxLength="5" type="int16"/>
964
965 <!-- long long_array[2][3][4]; -->
966 <member name="long_array" arrayDimensions="2,3,4" type="int32"/>
967
968 <!-- map<long,long,2> my_map_inner -->
969 <member name="my_map" type="int32" key_type="int32" mapMaxLength="2"/>
970 </struct>
971
972 <typedef name="inner_map" type="char8" key_type="int16"/>
973 <struct name="MyComplexStruct">
974 <!-- Complex types -->
975 <member name="my_other_struct" type="nonBasic" nonBasicTypeName="MyFullStruct"/>
976 <!-- map<long,map<long,long,2>,2> my_map_map; -->
977 <member name="my_map_map" type="nonBasic" nonBasicTypeName="inner_map" key_type="int32" mapMaxLength="2"/>
978 </struct>
979
980 <enum name="MyEnum">
981 <enumerator name="A" value="0"/>
982 <enumerator name="B" value="1"/>
983 <enumerator name="C"/>
984 </enum>
985
986 <typedef name="MyAlias1" type="nonBasic" nonBasicTypeName="MyEnum"/>
987 <typedef name="MyAlias2" type="int32" arrayDimensions="2,2"/>
988
989 <struct name="MyStruct">
990 <member name="first" type="int32"/>
991 <member name="second" type="int64"/>
992 </struct>
993
994 <!-- TODO(XTypes: Fix inheritance loading from XML profile) Fast DDS#4626 -->
995 <!-- <struct name="OtherInheritedStruct" baseType="MyStruct">
996 <member name="my_enum" type="nonBasic" nonBasicTypeName="MyEnum"/>
997 <member name="my_struct" type="nonBasic" nonBasicTypeName="MyFullStruct" arrayDimensions="5"/>
998 </struct> -->
999
1000 <union name="MyUnion1">
1001 <discriminator type="byte"/>
1002 <case>
1003 <caseDiscriminator value="0"/>
1004 <caseDiscriminator value="1"/>
1005 <member name="first" type="int32"/>
1006 </case>
1007 <case>
1008 <caseDiscriminator value="2"/>
1009 <member name="second" type="nonBasic" nonBasicTypeName="MyStruct"/>
1010 </case>
1011 <case>
1012 <caseDiscriminator value="default"/>
1013 <member name="third" type="int64"/>
1014 </case>
1015 </union>
1016
1017 <bitset name="MyBitSet">
1018 <bitfield name="a" bit_bound="3"/>
1019 <bitfield name="b" bit_bound="10"/>
1020 <bitfield name="c" bit_bound="12" type="int16"/>
1021 </bitset>
1022
1023 <!-- TODO(XTypes: Fix inheritance loading from XML profile) Fast DDS#4626 -->
1024 <!-- <bitset name="OtherInheritedBitSet" baseType="MyBitSet">
1025 <bitfield bit_bound="8"/>
1026 <bitfield bit_bound="15" type="byte"/>
1027 </bitset> -->
1028
1029 <bitmask name="MyBitMask" bit_bound="8">
1030 <bit_value name="flag0" position="0"/>
1031 <bit_value name="flag1"/>
1032 </bitmask>
1033 </type>
1034 </types>
1035</dds>