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