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 <propertiesPolicy>
331 <properties>
332 <property>
333 <name>Property1Name</name>
334 <value>Property1Value</value>
335 <propagate>false</propagate>
336 </property>
337 <property>
338 <name>Property2Name</name>
339 <value>Property2Value</value>
340 <propagate>false</propagate>
341 </property>
342 </properties>
343 </propertiesPolicy>
344
345 <allocation>
346 <remote_locators>
347 <max_unicast_locators>4</max_unicast_locators> <!-- uint32 -->
348 <max_multicast_locators>1</max_multicast_locators> <!-- uint32 -->
349 </remote_locators>
350 <total_participants>
351 <initial>0</initial>
352 <maximum>0</maximum>
353 <increment>1</increment>
354 </total_participants>
355 <total_readers>
356 <initial>0</initial>
357 <maximum>0</maximum>
358 <increment>1</increment>
359 </total_readers>
360 <total_writers>
361 <initial>0</initial>
362 <maximum>0</maximum>
363 <increment>1</increment>
364 </total_writers>
365 <max_partitions>256</max_partitions>
366 <max_user_data>256</max_user_data>
367 <max_properties>512</max_properties>
368 <send_buffers>
369 <preallocated_number>127</preallocated_number>
370 <dynamic>true</dynamic>
371 </send_buffers>
372 </allocation>
373 </rtps>
374 </participant>
375
376 <data_writer profile_name="datawriter_profile_example">
377 <topic>
378 <historyQos>
379 <kind>KEEP_LAST</kind>
380 <depth>20</depth>
381 </historyQos>
382 <resourceLimitsQos>
383 <max_samples>5</max_samples>
384 <max_instances>2</max_instances>
385 <max_samples_per_instance>1</max_samples_per_instance>
386 <allocated_samples>20</allocated_samples>
387 <extra_samples>10</extra_samples>
388 </resourceLimitsQos>
389 </topic>
390 <qos> <!-- dataWriterQosPoliciesType -->
391 <data_sharing>
392 <kind>AUTOMATIC</kind>
393 <shared_dir>/home</shared_dir>
394 <max_domains>10</max_domains>
395 <domain_ids>
396 <domainId>0</domainId>
397 <domainId>11</domainId>
398 </domain_ids>
399 </data_sharing>
400 <deadline>
401 <period>
402 <sec>1</sec>
403 </period>
404 </deadline>
405 <disable_heartbeat_piggyback>true</disable_heartbeat_piggyback>
406 <disablePositiveAcks>
407 <enabled>true</enabled>
408 <duration>
409 <sec>1</sec>
410 </duration>
411 </disablePositiveAcks>
412 <durability>
413 <kind>VOLATILE</kind>
414 </durability>
415 <!-- QoS policy pending implementation -->
416 <latencyBudget>
417 <duration>
418 <sec>1</sec>
419 </duration>
420 </latencyBudget>
421 <lifespan>
422 <duration>
423 <sec>5</sec>
424 </duration>
425 </lifespan>
426 <liveliness>
427 <kind>AUTOMATIC</kind>
428 <lease_duration>
429 <sec>1</sec>
430 <nanosec>856000</nanosec>
431 </lease_duration>
432 <announcement_period>
433 <sec>1</sec>
434 <nanosec>856000</nanosec>
435 </announcement_period>
436 </liveliness>
437 <ownership>
438 <kind>EXCLUSIVE</kind>
439 </ownership>
440 <ownershipStrength>
441 <value>50</value>
442 </ownershipStrength>
443 <partition>
444 <names>
445 <name>part1</name>
446 <name>part2</name>
447 </names>
448 </partition>
449 <publishMode>
450 <kind>ASYNCHRONOUS</kind>
451 </publishMode>
452 <reliability>
453 <kind>BEST_EFFORT</kind>
454 <max_blocking_time>
455 <sec>1</sec>
456 <nanosec>856000</nanosec>
457 </max_blocking_time>
458 </reliability>
459 </qos>
460
461 <times>
462 <initialHeartbeatDelay>
463 <sec>1</sec>
464 <nanosec>856000</nanosec>
465 </initialHeartbeatDelay>
466 <heartbeatPeriod>
467 <sec>1</sec>
468 <nanosec>856000</nanosec>
469 </heartbeatPeriod>
470 <nackResponseDelay>
471 <sec>1</sec>
472 <nanosec>856000</nanosec>
473 </nackResponseDelay>
474 <nackSupressionDuration>
475 <sec>1</sec>
476 <nanosec>856000</nanosec>
477 </nackSupressionDuration>
478 </times>
479
480 <unicastLocatorList>
481 <locator>
482 <udpv4>
483 <!-- Access as physical, like UDP -->
484 <port>7400</port>
485 <address>192.168.1.41</address>
486 </udpv4>
487 </locator>
488 <locator>
489 <tcpv4>
490 <!-- Both physical and logical (port), like TCP -->
491 <physical_port>5100</physical_port>
492 <port>7400</port>
493 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
494 <wan_address>80.80.99.45</wan_address>
495 <address>192.168.1.55</address>
496 </tcpv4>
497 </locator>
498 <locator>
499 <udpv6>
500 <port>8844</port>
501 <address>::1</address>
502 </udpv6>
503 </locator>
504 </unicastLocatorList>
505
506 <multicastLocatorList>
507 <locator>
508 <udpv4>
509 <!-- Access as physical, like UDP -->
510 <port>7400</port>
511 <address>192.168.1.41</address>
512 </udpv4>
513 </locator>
514 <locator>
515 <tcpv4>
516 <!-- Both physical and logical (port), like TCP -->
517 <physical_port>5100</physical_port>
518 <port>7400</port>
519 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
520 <wan_address>80.80.99.45</wan_address>
521 <address>192.168.1.55</address>
522 </tcpv4>
523 </locator>
524 <locator>
525 <udpv6>
526 <port>8844</port>
527 <address>::1</address>
528 </udpv6>
529 </locator>
530 </multicastLocatorList>
531
532 <external_unicast_locators>
533 <udpv4 externality="1" cost="0" mask="24">
534 <address>100.100.100.10</address>
535 <port>12345</port>
536 </udpv4>
537 </external_unicast_locators>
538
539 <ignore_non_matching_locators>true</ignore_non_matching_locators>
540 <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
541
542 <propertiesPolicy>
543 <properties>
544 <property>
545 <name>Property1Name</name>
546 <value>Property1Value</value>
547 <propagate>false</propagate>
548 </property>
549 <property>
550 <name>Property2Name</name>
551 <value>Property2Value</value>
552 <propagate>false</propagate>
553 </property>
554 </properties>
555 </propertiesPolicy>
556
557 <userDefinedID>45</userDefinedID>
558 <entityID>76</entityID>
559
560 <matchedSubscribersAllocation>
561 <initial>3</initial>
562 <maximum>3</maximum>
563 <increment>0</increment>
564 </matchedSubscribersAllocation>
565 </data_writer>
566
567 <data_reader profile_name="datareader_profile_example">
568 <topic>
569 <historyQos>
570 <kind>KEEP_LAST</kind>
571 <depth>20</depth>
572 </historyQos>
573 <resourceLimitsQos>
574 <max_samples>5</max_samples>
575 <max_instances>2</max_instances>
576 <max_samples_per_instance>1</max_samples_per_instance>
577 <allocated_samples>20</allocated_samples>
578 <extra_samples>10</extra_samples>
579 </resourceLimitsQos>
580 </topic>
581 <qos> <!-- dataReaderQosPoliciesType -->
582 <data_sharing>
583 <kind>AUTOMATIC</kind>
584 <shared_dir>/home</shared_dir>
585 <max_domains>10</max_domains>
586 <domain_ids>
587 <domainId>0</domainId>
588 <domainId>11</domainId>
589 </domain_ids>
590 </data_sharing>
591 <deadline>
592 <period>
593 <sec>1</sec>
594 </period>
595 </deadline>
596 <disablePositiveAcks>
597 <enabled>true</enabled>
598 <duration>
599 <sec>1</sec>
600 </duration>
601 </disablePositiveAcks>
602 <durability>
603 <kind>PERSISTENT</kind>
604 </durability>
605 <!-- QoS policy pending implementation -->
606 <latencyBudget>
607 <duration>
608 <sec>1</sec>
609 </duration>
610 </latencyBudget>
611 <lifespan>
612 <duration>
613 <sec>5</sec>
614 </duration>
615 </lifespan>
616 <liveliness>
617 <kind>MANUAL_BY_PARTICIPANT</kind>
618 <lease_duration>
619 <sec>1</sec>
620 <nanosec>856000</nanosec>
621 </lease_duration>
622 <announcement_period>
623 <sec>1</sec>
624 <nanosec>856000</nanosec>
625 </announcement_period>
626 </liveliness>
627 <ownership>
628 <kind>EXCLUSIVE</kind>
629 </ownership>
630 <partition>
631 <names>
632 <name>part1</name>
633 <name>part2</name>
634 </names>
635 </partition>
636 <reliability>
637 <kind>BEST_EFFORT</kind>
638 <max_blocking_time>
639 <sec>1</sec>
640 <nanosec>856000</nanosec>
641 </max_blocking_time>
642 </reliability>
643 </qos>
644
645 <times>
646 <initialAcknackDelay>
647 <sec>1</sec>
648 <nanosec>856000</nanosec>
649 </initialAcknackDelay>
650 <heartbeatResponseDelay>
651 <sec>1</sec>
652 <nanosec>856000</nanosec>
653 </heartbeatResponseDelay>
654 </times>
655
656 <unicastLocatorList>
657 <locator>
658 <udpv4>
659 <!-- Access as physical, like UDP -->
660 <port>7400</port>
661 <address>192.168.1.41</address>
662 </udpv4>
663 </locator>
664 <locator>
665 <tcpv4>
666 <!-- Both physical and logical (port), like TCP -->
667 <physical_port>5100</physical_port>
668 <port>7400</port>
669 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
670 <wan_address>80.80.99.45</wan_address>
671 <address>192.168.1.55</address>
672 </tcpv4>
673 </locator>
674 <locator>
675 <udpv6>
676 <port>8844</port>
677 <address>::1</address>
678 </udpv6>
679 </locator>
680 </unicastLocatorList>
681
682 <multicastLocatorList>
683 <locator>
684 <udpv4>
685 <!-- Access as physical, like UDP -->
686 <port>7400</port>
687 <address>192.168.1.41</address>
688 </udpv4>
689 </locator>
690 <locator>
691 <tcpv4>
692 <!-- Both physical and logical (port), like TCP -->
693 <physical_port>5100</physical_port>
694 <port>7400</port>
695 <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
696 <wan_address>80.80.99.45</wan_address>
697 <address>192.168.1.55</address>
698 </tcpv4>
699 </locator>
700 <locator>
701 <udpv6>
702 <port>8844</port>
703 <address>::1</address>
704 </udpv6>
705 </locator>
706 </multicastLocatorList>
707
708 <external_unicast_locators>
709 <udpv4 externality="1" cost="0" mask="24">
710 <address>100.100.100.10</address>
711 <port>12345</port>
712 </udpv4>
713 </external_unicast_locators>
714
715 <ignore_non_matching_locators>true</ignore_non_matching_locators>
716 <expectsInlineQos>true</expectsInlineQos>
717 <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
718
719 <propertiesPolicy>
720 <properties>
721 <property>
722 <name>Property1Name</name>
723 <value>Property1Value</value>
724 <propagate>false</propagate>
725 </property>
726 <property>
727 <name>Property2Name</name>
728 <value>Property2Value</value>
729 <propagate>false</propagate>
730 </property>
731 </properties>
732 </propertiesPolicy>
733
734 <userDefinedID>55</userDefinedID>
735 <entityID>66</entityID>
736
737 <matchedPublishersAllocation>
738 <initial>1</initial>
739 <maximum>1</maximum>
740 <increment>0</increment>
741 </matchedPublishersAllocation>
742 </data_reader>
743
744 <topic profile_name="topic_profile_example">
745 <historyQos>
746 <kind>KEEP_LAST</kind>
747 <depth>20</depth>
748 </historyQos>
749 <resourceLimitsQos>
750 <max_samples>5</max_samples>
751 <max_instances>2</max_instances>
752 <max_samples_per_instance>1</max_samples_per_instance>
753 <allocated_samples>20</allocated_samples>
754 <extra_samples>10</extra_samples>
755 </resourceLimitsQos>
756 </topic>
757 </profiles>
758
759 <library_settings>
760 <intraprocess_delivery>USER_DATA_ONLY</intraprocess_delivery>
761 </library_settings>
762
763 <log>
764 <use_default>false</use_default>
765
766 <consumer>
767 <class>StdoutConsumer</class>
768 </consumer>
769
770 <consumer>
771 <class>StdoutErrConsumer</class>
772 <property>
773 <name>stderr_threshold</name>
774 <value>Log::Kind::Warning</value>
775 </property>
776 </consumer>
777
778 <consumer>
779 <class>FileConsumer</class>
780 <property>
781 <name>filename</name>
782 <value>execution.log</value>
783 </property>
784 <property>
785 <name>append</name>
786 <value>TRUE</value>
787 </property>
788 </consumer>
789 </log>
790
791 <types>
792 <type> <!-- Types can be defined in its own type of tag or sharing the same tag -->
793 <enum name="MyAloneEnumType">
794 <enumerator name="A" value="0"/>
795 <enumerator name="B" value="1"/>
796 <enumerator name="C"/>
797 </enum>
798 </type>
799 <type>
800 <!-- All possible members struct type -->
801 <struct name="MyFullStruct">
802 <!-- Primitives & basic -->
803 <member name="my_bool" type="boolean"/>
804 <member name="my_char" type="char8"/>
805 <member name="my_wchar" type="char16"/>
806 <member name="my_byte" type="byte"/>
807 <member name="my_octet" type="octet"/>
808 <member name="my_uint8" type="uint8"/>
809 <member name="my_short" type="int16"/>
810 <member name="my_long" type="int32"/>
811 <member name="my_unsignedshort" type="uint16"/>
812 <member name="my_unsignedlong" type="uint32"/>
813 <member name="my_longlong" type="int64"/>
814 <member name="my_unsignedlonglong" type="uint64"/>
815 <member name="my_float" type="float32"/>
816 <member name="my_double" type="float64"/>
817 <member name="my_longdouble" type="float128"/>
818 <member name="my_string" type="string"/>
819 <member name="my_wstring" type="wstring"/>
820
821 <!-- string my_boundedString[41925] -->
822 <member name="my_boundedString" type="string" stringMaxLength="41925"/>
823 <!-- wstring my_boundedWString[41925] -->
824 <member name="my_boundedWString" type="wstring" stringMaxLength="41925"/>
825
826 <!-- short short_sequence[5]; -->
827 <member name="short_sequence" sequenceMaxLength="5" type="int16"/>
828
829 <!-- long long_array[2][3][4]; -->
830 <member name="long_array" arrayDimensions="2,3,4" type="int32"/>
831
832 <!-- map<long,long,2> my_map_inner -->
833 <member name="my_map" type="int32" key_type="int32" mapMaxLength="2"/>
834 </struct>
835
836 <typedef name="inner_map" type="char8" key_type="int16"/>
837 <struct name="MyComplexStruct">
838 <!-- Complex types -->
839 <member name="my_other_struct" type="nonBasic" nonBasicTypeName="MyFullStruct"/>
840 <!-- map<long,map<long,long,2>,2> my_map_map; -->
841 <member name="my_map_map" type="nonBasic" nonBasicTypeName="inner_map" key_type="int32" mapMaxLength="2"/>
842 </struct>
843
844 <enum name="MyEnum">
845 <enumerator name="A" value="0"/>
846 <enumerator name="B" value="1"/>
847 <enumerator name="C"/>
848 </enum>
849
850 <typedef name="MyAlias1" type="nonBasic" nonBasicTypeName="MyEnum"/>
851 <typedef name="MyAlias2" type="int32" arrayDimensions="2,2"/>
852
853 <struct name="MyStruct">
854 <member name="first" type="int32"/>
855 <member name="second" type="int64"/>
856 </struct>
857
858 <struct name="OtherInheritedStruct" baseType="MyStruct">
859 <member name="my_enum" type="nonBasic" nonBasicTypeName="MyEnum"/>
860 <member name="my_struct" type="nonBasic" nonBasicTypeName="MyFullStruct" arrayDimensions="5"/>
861 </struct>
862
863 <union name="MyUnion1">
864 <discriminator type="byte"/>
865 <case>
866 <caseDiscriminator value="0"/>
867 <caseDiscriminator value="1"/>
868 <member name="first" type="int32"/>
869 </case>
870 <case>
871 <caseDiscriminator value="2"/>
872 <member name="second" type="nonBasic" nonBasicTypeName="MyStruct"/>
873 </case>
874 <case>
875 <caseDiscriminator value="default"/>
876 <member name="third" type="int64"/>
877 </case>
878 </union>
879
880 <bitset name="MyBitSet">
881 <bitfield name="a" bit_bound="3"/>
882 <bitfield name="b" bit_bound="10"/>
883 <bitfield name="c" bit_bound="12" type="int16"/>
884 </bitset>
885
886 <bitset name="OtherInheritedBitSet" baseType="MyBitSet">
887 <bitfield bit_bound="8"/>
888 <bitfield bit_bound="15" type="byte"/>
889 </bitset>
890
891 <bitmask name="MyBitMask" bit_bound="8">
892 <bit_value name="flag0" position="0"/>
893 <bit_value name="flag1"/>
894 </bitmask>
895 </type>
896 </types>
897</dds>