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>