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