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>