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>