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 <transport_priority>-20</transport_priority>
576 <partition>
577 <names>
578 <name>part1</name>
579 <name>part2</name>
580 </names>
581 </partition>
582 <publishMode>
583 <kind>ASYNCHRONOUS</kind>
584 <flow_controller_name>example_flow_controller</flow_controller_name>
585 </publishMode>
586 <reliability>
587 <kind>BEST_EFFORT</kind>
588 <max_blocking_time>
589 <sec>1</sec>
590 <nanosec>856000</nanosec>
591 </max_blocking_time>
592 </reliability>
593 </qos>
594
595 <times>
596 <initial_heartbeat_delay>
597 <sec>1</sec>
598 <nanosec>856000</nanosec>
599 </initial_heartbeat_delay>
600 <heartbeat_period>
601 <sec>1</sec>
602 <nanosec>856000</nanosec>
603 </heartbeat_period>
604 <nack_response_delay>
605 <sec>1</sec>
606 <nanosec>856000</nanosec>
607 </nack_response_delay>
608 <nack_supression_duration>
609 <sec>1</sec>
610 <nanosec>856000</nanosec>
611 </nack_supression_duration>
612 </times>
613
614 <unicastLocatorList>
615 <locator>
616 <udpv4>
617 <!-- Access as physical, like UDP -->
618 <port>7400</port>
619 <address>192.168.1.41</address>
620 </udpv4>
621 </locator>
622 <locator>
623 <tcpv4>
624 <!-- Both physical and logical (port), like TCP -->
625 <physical_port>5100</physical_port>
626 <port>7400</port>
627 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
628 <wan_address>80.80.99.45</wan_address>
629 <address>192.168.1.55</address>
630 </tcpv4>
631 </locator>
632 <locator>
633 <udpv6>
634 <port>8844</port>
635 <address>::1</address>
636 </udpv6>
637 </locator>
638 </unicastLocatorList>
639
640 <multicastLocatorList>
641 <locator>
642 <udpv4>
643 <!-- Access as physical, like UDP -->
644 <port>7400</port>
645 <address>192.168.1.41</address>
646 </udpv4>
647 </locator>
648 <locator>
649 <tcpv4>
650 <!-- Both physical and logical (port), like TCP -->
651 <physical_port>5100</physical_port>
652 <port>7400</port>
653 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
654 <wan_address>80.80.99.45</wan_address>
655 <address>192.168.1.55</address>
656 </tcpv4>
657 </locator>
658 <locator>
659 <udpv6>
660 <port>8844</port>
661 <address>::1</address>
662 </udpv6>
663 </locator>
664 </multicastLocatorList>
665
666 <external_unicast_locators>
667 <udpv4 externality="1" cost="0" mask="24">
668 <address>100.100.100.10</address>
669 <port>12345</port>
670 </udpv4>
671 </external_unicast_locators>
672
673 <ignore_non_matching_locators>true</ignore_non_matching_locators>
674 <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
675
676 <propertiesPolicy>
677 <properties>
678 <property>
679 <name>Property1Name</name>
680 <value>Property1Value</value>
681 <propagate>false</propagate>
682 </property>
683 <property>
684 <name>Property2Name</name>
685 <value>Property2Value</value>
686 <propagate>false</propagate>
687 </property>
688 </properties>
689 </propertiesPolicy>
690
691 <userDefinedID>45</userDefinedID>
692 <entityID>76</entityID>
693
694 <matchedSubscribersAllocation>
695 <initial>3</initial>
696 <maximum>3</maximum>
697 <increment>0</increment>
698 </matchedSubscribersAllocation>
699 </data_writer>
700
701 <data_reader profile_name="datareader_profile_example">
702 <topic>
703 <historyQos>
704 <kind>KEEP_LAST</kind>
705 <depth>20</depth>
706 </historyQos>
707 <resourceLimitsQos>
708 <max_samples>5</max_samples>
709 <max_instances>2</max_instances>
710 <max_samples_per_instance>1</max_samples_per_instance>
711 <allocated_samples>20</allocated_samples>
712 <extra_samples>10</extra_samples>
713 </resourceLimitsQos>
714 </topic>
715 <qos> <!-- dataReaderQosPoliciesType -->
716 <data_sharing>
717 <kind>AUTOMATIC</kind>
718 <shared_dir>/home</shared_dir>
719 <max_domains>10</max_domains>
720 <domain_ids>
721 <domainId>0</domainId>
722 <domainId>11</domainId>
723 </domain_ids>
724 <data_sharing_listener_thread>
725 <scheduling_policy>-1</scheduling_policy>
726 <priority>0</priority>
727 <affinity>0</affinity>
728 <stack_size>-1</stack_size>
729 </data_sharing_listener_thread>
730 </data_sharing>
731 <deadline>
732 <period>
733 <sec>1</sec>
734 </period>
735 </deadline>
736 <disablePositiveAcks>
737 <enabled>true</enabled>
738 <duration>
739 <sec>1</sec>
740 </duration>
741 </disablePositiveAcks>
742 <durability>
743 <kind>PERSISTENT</kind>
744 </durability>
745 <!-- QoS policy pending implementation -->
746 <latencyBudget>
747 <duration>
748 <sec>1</sec>
749 </duration>
750 </latencyBudget>
751 <lifespan>
752 <duration>
753 <sec>5</sec>
754 </duration>
755 </lifespan>
756 <liveliness>
757 <kind>MANUAL_BY_PARTICIPANT</kind>
758 <lease_duration>
759 <sec>1</sec>
760 <nanosec>856000</nanosec>
761 </lease_duration>
762 <announcement_period>
763 <sec>1</sec>
764 <nanosec>856000</nanosec>
765 </announcement_period>
766 </liveliness>
767 <ownership>
768 <kind>EXCLUSIVE</kind>
769 </ownership>
770 <partition>
771 <names>
772 <name>part1</name>
773 <name>part2</name>
774 </names>
775 </partition>
776 <reliability>
777 <kind>BEST_EFFORT</kind>
778 <max_blocking_time>
779 <sec>1</sec>
780 <nanosec>856000</nanosec>
781 </max_blocking_time>
782 </reliability>
783 </qos>
784
785 <times>
786 <initial_acknack_delay>
787 <sec>1</sec>
788 <nanosec>856000</nanosec>
789 </initial_acknack_delay>
790 <heartbeat_response_delay>
791 <sec>1</sec>
792 <nanosec>856000</nanosec>
793 </heartbeat_response_delay>
794 </times>
795
796 <unicastLocatorList>
797 <locator>
798 <udpv4>
799 <!-- Access as physical, like UDP -->
800 <port>7400</port>
801 <address>192.168.1.41</address>
802 </udpv4>
803 </locator>
804 <locator>
805 <tcpv4>
806 <!-- Both physical and logical (port), like TCP -->
807 <physical_port>5100</physical_port>
808 <port>7400</port>
809 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
810 <wan_address>80.80.99.45</wan_address>
811 <address>192.168.1.55</address>
812 </tcpv4>
813 </locator>
814 <locator>
815 <udpv6>
816 <port>8844</port>
817 <address>::1</address>
818 </udpv6>
819 </locator>
820 </unicastLocatorList>
821
822 <multicastLocatorList>
823 <locator>
824 <udpv4>
825 <!-- Access as physical, like UDP -->
826 <port>7400</port>
827 <address>192.168.1.41</address>
828 </udpv4>
829 </locator>
830 <locator>
831 <tcpv4>
832 <!-- Both physical and logical (port), like TCP -->
833 <physical_port>5100</physical_port>
834 <port>7400</port>
835 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
836 <wan_address>80.80.99.45</wan_address>
837 <address>192.168.1.55</address>
838 </tcpv4>
839 </locator>
840 <locator>
841 <udpv6>
842 <port>8844</port>
843 <address>::1</address>
844 </udpv6>
845 </locator>
846 </multicastLocatorList>
847
848 <external_unicast_locators>
849 <udpv4 externality="1" cost="0" mask="24">
850 <address>100.100.100.10</address>
851 <port>12345</port>
852 </udpv4>
853 </external_unicast_locators>
854
855 <ignore_non_matching_locators>true</ignore_non_matching_locators>
856 <expects_inline_qos>true</expects_inline_qos>
857 <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
858
859 <propertiesPolicy>
860 <properties>
861 <property>
862 <name>Property1Name</name>
863 <value>Property1Value</value>
864 <propagate>false</propagate>
865 </property>
866 <property>
867 <name>Property2Name</name>
868 <value>Property2Value</value>
869 <propagate>false</propagate>
870 </property>
871 </properties>
872 </propertiesPolicy>
873
874 <userDefinedID>55</userDefinedID>
875 <entityID>66</entityID>
876
877 <matchedPublishersAllocation>
878 <initial>1</initial>
879 <maximum>1</maximum>
880 <increment>0</increment>
881 </matchedPublishersAllocation>
882 </data_reader>
883
884 <topic profile_name="topic_profile_example">
885 <historyQos>
886 <kind>KEEP_LAST</kind>
887 <depth>20</depth>
888 </historyQos>
889 <resourceLimitsQos>
890 <max_samples>5</max_samples>
891 <max_instances>2</max_instances>
892 <max_samples_per_instance>1</max_samples_per_instance>
893 <allocated_samples>20</allocated_samples>
894 <extra_samples>10</extra_samples>
895 </resourceLimitsQos>
896 </topic>
897 </profiles>
898
899 <library_settings>
900 <intraprocess_delivery>USER_DATA_ONLY</intraprocess_delivery>
901 </library_settings>
902
903 <log>
904 <use_default>false</use_default>
905
906 <consumer>
907 <class>StdoutConsumer</class>
908 </consumer>
909
910 <consumer>
911 <class>StdoutErrConsumer</class>
912 <property>
913 <name>stderr_threshold</name>
914 <value>Log::Kind::Warning</value>
915 </property>
916 </consumer>
917
918 <consumer>
919 <class>FileConsumer</class>
920 <property>
921 <name>filename</name>
922 <value>execution.log</value>
923 </property>
924 <property>
925 <name>append</name>
926 <value>TRUE</value>
927 </property>
928 </consumer>
929
930 <thread_settings>
931 <scheduling_policy>-1</scheduling_policy>
932 <priority>0</priority>
933 <affinity>0</affinity>
934 <stack_size>-1</stack_size>
935 </thread_settings>
936 </log>
937
938 <types>
939 <type> <!-- Types can be defined in its own type of tag or sharing the same tag -->
940 <enum name="MyAloneEnumType">
941 <enumerator name="A" value="0"/>
942 <enumerator name="B" value="1"/>
943 <enumerator name="C"/>
944 </enum>
945 </type>
946 <type>
947 <!-- All possible members struct type -->
948 <struct name="MyFullStruct">
949 <!-- Primitives & basic -->
950 <member name="my_bool" type="boolean"/>
951 <member name="my_char" type="char8"/>
952 <member name="my_wchar" type="char16"/>
953 <member name="my_byte" type="byte"/>
954 <member name="my_octet" type="octet"/>
955 <member name="my_uint8" type="uint8"/>
956 <member name="my_short" type="int16"/>
957 <member name="my_long" type="int32"/>
958 <member name="my_unsignedshort" type="uint16"/>
959 <member name="my_unsignedlong" type="uint32"/>
960 <member name="my_longlong" type="int64"/>
961 <member name="my_unsignedlonglong" type="uint64"/>
962 <member name="my_float" type="float32"/>
963 <member name="my_double" type="float64"/>
964 <member name="my_longdouble" type="float128"/>
965 <member name="my_string" type="string"/>
966 <member name="my_wstring" type="wstring"/>
967
968 <!-- string my_boundedString[41925] -->
969 <member name="my_boundedString" type="string" stringMaxLength="41925"/>
970 <!-- wstring my_boundedWString[41925] -->
971 <member name="my_boundedWString" type="wstring" stringMaxLength="41925"/>
972
973 <!-- short short_sequence[5]; -->
974 <member name="short_sequence" sequenceMaxLength="5" type="int16"/>
975
976 <!-- long long_array[2][3][4]; -->
977 <member name="long_array" arrayDimensions="2,3,4" type="int32"/>
978
979 <!-- map<long,long,2> my_map_inner -->
980 <member name="my_map" type="int32" key_type="int32" mapMaxLength="2"/>
981 </struct>
982
983 <typedef name="inner_map" type="char8" key_type="int16"/>
984 <struct name="MyComplexStruct">
985 <!-- Complex types -->
986 <member name="my_other_struct" type="nonBasic" nonBasicTypeName="MyFullStruct"/>
987 <!-- map<long,map<long,long,2>,2> my_map_map; -->
988 <member name="my_map_map" type="nonBasic" nonBasicTypeName="inner_map" key_type="int32" mapMaxLength="2"/>
989 </struct>
990
991 <enum name="MyEnum">
992 <enumerator name="A" value="0"/>
993 <enumerator name="B" value="1"/>
994 <enumerator name="C"/>
995 </enum>
996
997 <typedef name="MyAlias1" type="nonBasic" nonBasicTypeName="MyEnum"/>
998 <typedef name="MyAlias2" type="int32" arrayDimensions="2,2"/>
999
1000 <struct name="MyStruct">
1001 <member name="first" type="int32"/>
1002 <member name="second" type="int64"/>
1003 </struct>
1004
1005 <!-- TODO(XTypes: Fix inheritance loading from XML profile) Fast DDS#4626 -->
1006 <!-- <struct name="OtherInheritedStruct" baseType="MyStruct">
1007 <member name="my_enum" type="nonBasic" nonBasicTypeName="MyEnum"/>
1008 <member name="my_struct" type="nonBasic" nonBasicTypeName="MyFullStruct" arrayDimensions="5"/>
1009 </struct> -->
1010
1011 <union name="MyUnion1">
1012 <discriminator type="byte"/>
1013 <case>
1014 <caseDiscriminator value="0"/>
1015 <caseDiscriminator value="1"/>
1016 <member name="first" type="int32"/>
1017 </case>
1018 <case>
1019 <caseDiscriminator value="2"/>
1020 <member name="second" type="nonBasic" nonBasicTypeName="MyStruct"/>
1021 </case>
1022 <case>
1023 <caseDiscriminator value="default"/>
1024 <member name="third" type="int64"/>
1025 </case>
1026 </union>
1027
1028 <bitset name="MyBitSet">
1029 <bitfield name="a" bit_bound="3"/>
1030 <bitfield name="b" bit_bound="10"/>
1031 <bitfield name="c" bit_bound="12" type="int16"/>
1032 </bitset>
1033
1034 <!-- TODO(XTypes: Fix inheritance loading from XML profile) Fast DDS#4626 -->
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>