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