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