10.12. 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">
   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                <netmask_filter>AUTO</netmask_filter>
  14                <interfaces>
  15                    <allowlist>
  16                        <interface name="wlp59s0" netmask_filter="ON"/>
  17                    </allowlist>
  18                    <blocklist>
  19                        <interface name="127.0.0.1"/>
  20                        <interface name="docker0"/>
  21                    </blocklist>
  22                </interfaces>
  23                <interfaceWhiteList>
  24                    <address>192.168.1.41</address>
  25                    <interface>lo</interface>
  26                </interfaceWhiteList>
  27                <wan_addr>80.80.55.44</wan_addr>
  28                <keep_alive_frequency_ms>5000</keep_alive_frequency_ms>
  29                <keep_alive_timeout_ms>25000</keep_alive_timeout_ms>
  30                <max_logical_port>200</max_logical_port>
  31                <logical_port_range>20</logical_port_range>
  32                <logical_port_increment>2</logical_port_increment>
  33                <listening_ports>
  34                    <port>5100</port>
  35                    <port>5200</port>
  36                </listening_ports>
  37                <tls>
  38                    <password>Password</password>
  39                    <private_key_file>Key_file.pem</private_key_file>
  40                    <rsa_private_key_file>RSA_file.pem</rsa_private_key_file>
  41                    <cert_chain_file>Chain.pem</cert_chain_file>
  42                    <tmp_dh_file>DH.pem</tmp_dh_file>
  43                    <verify_file>verify.pem</verify_file>
  44                    <verify_mode>
  45                        <verify>VERIFY_PEER</verify>
  46                    </verify_mode>
  47                    <options>
  48                        <option>NO_TLSV1</option>
  49                        <option>NO_TLSV1_1</option>
  50                    </options>
  51                    <verify_paths>
  52                        <verify_path>Path1</verify_path>
  53                        <verify_path>Path2</verify_path>
  54                        <verify_path>Path3</verify_path>
  55                    </verify_paths>
  56                    <verify_depth>55</verify_depth>
  57                    <default_verify_path>true</default_verify_path>
  58                    <handshake_role>SERVER</handshake_role>
  59                    <server_name>my_server.com</server_name>
  60                </tls>
  61                <calculate_crc>false</calculate_crc>
  62                <check_crc>false</check_crc>
  63                <enable_tcp_nodelay>false</enable_tcp_nodelay>
  64                <default_reception_threads>
  65                    <scheduling_policy>-1</scheduling_policy>
  66                    <priority>0</priority>
  67                    <affinity>0</affinity>
  68                    <stack_size>-1</stack_size>
  69                </default_reception_threads>
  70                <reception_threads>
  71                    <reception_thread port="12345">
  72                        <scheduling_policy>-1</scheduling_policy>
  73                        <priority>0</priority>
  74                        <affinity>0</affinity>
  75                        <stack_size>-1</stack_size>
  76                    </reception_thread>
  77                </reception_threads>
  78            </transport_descriptor>
  79            <!-- UDP sample transport descriptor. Several options are common with TCP -->
  80            <transport_descriptor>
  81                <transport_id>ExampleTransportId2</transport_id>
  82                <type>UDPv6</type>
  83                <TTL>250</TTL>
  84                <non_blocking_send>false</non_blocking_send>
  85                <output_port>5101</output_port>
  86                <default_reception_threads>
  87                    <scheduling_policy>-1</scheduling_policy>
  88                    <priority>0</priority>
  89                    <affinity>0</affinity>
  90                    <stack_size>-1</stack_size>
  91                </default_reception_threads>
  92                <reception_threads>
  93                    <reception_thread port="12345">
  94                        <scheduling_policy>-1</scheduling_policy>
  95                        <priority>0</priority>
  96                        <affinity>0</affinity>
  97                        <stack_size>-1</stack_size>
  98                    </reception_thread>
  99                </reception_threads>
 100            </transport_descriptor>
 101            <!-- SHM sample transport descriptor -->
 102            <transport_descriptor>
 103                <transport_id>SHM_SAMPLE_DESCRIPTOR</transport_id>
 104                <type>SHM</type> <!-- REQUIRED -->
 105                <maxMessageSize>524288</maxMessageSize> <!-- OPTIONAL uint32 valid of all transports-->
 106                <segment_size>1048576</segment_size> <!-- OPTIONAL uint32 SHM only-->
 107                <port_queue_capacity>1024</port_queue_capacity> <!-- OPTIONAL uint32 SHM only-->
 108                <healthy_check_timeout_ms>250</healthy_check_timeout_ms> <!-- OPTIONAL uint32 SHM only-->
 109                <rtps_dump_file>test_file.dump</rtps_dump_file> <!-- OPTIONAL string SHM only-->
 110                <default_reception_threads> <!-- OPTIONAL -->
 111                    <scheduling_policy>-1</scheduling_policy>
 112                    <priority>0</priority>
 113                    <affinity>0</affinity>
 114                    <stack_size>-1</stack_size>
 115                </default_reception_threads>
 116                <reception_threads> <!-- OPTIONAL -->
 117                    <reception_thread port="12345">
 118                        <scheduling_policy>-1</scheduling_policy>
 119                        <priority>0</priority>
 120                        <affinity>0</affinity>
 121                        <stack_size>-1</stack_size>
 122                    </reception_thread>
 123                </reception_threads>
 124                <dump_thread>
 125                    <scheduling_policy>-1</scheduling_policy>
 126                    <priority>0</priority>
 127                    <affinity>0</affinity>
 128                    <stack_size>-1</stack_size>
 129                </dump_thread>
 130            </transport_descriptor>
 131        </transport_descriptors>
 132
 133        <domainparticipant_factory profile_name="domainparticipant_factory_profile_name">
 134            <qos>
 135                <entity_factory>
 136                    <autoenable_created_entities>true</autoenable_created_entities>
 137                </entity_factory>
 138                <shm_watchdog_thread>
 139                    <scheduling_policy>-1</scheduling_policy>
 140                    <priority>0</priority>
 141                    <affinity>0</affinity>
 142                    <stack_size>-1</stack_size>
 143                </shm_watchdog_thread>
 144                <file_watch_threads>
 145                    <scheduling_policy>-1</scheduling_policy>
 146                    <priority>0</priority>
 147                    <affinity>0</affinity>
 148                    <stack_size>-1</stack_size>
 149                </file_watch_threads>
 150            </qos>
 151        </domainparticipant_factory>
 152
 153        <participant profile_name="participant_profile_example">
 154            <domainId>4</domainId>
 155            <rtps>
 156                <name>Participant Name</name> <!-- String -->
 157
 158                <defaultUnicastLocatorList>
 159                    <locator>
 160                        <udpv4>
 161                            <!-- Access as physical, like UDP -->
 162                            <port>7400</port>
 163                            <address>localhost</address>
 164                        </udpv4>
 165                    </locator>
 166                    <locator>
 167                        <tcpv4>
 168                            <!-- Both physical and logical (port), like TCP -->
 169                            <physical_port>5100</physical_port>
 170                            <port>7400</port>
 171                            <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 172                            <wan_address>80.80.99.45</wan_address>
 173                            <address>192.168.1.55</address>
 174                        </tcpv4>
 175                    </locator>
 176                    <locator>
 177                        <udpv6>
 178                            <port>8844</port>
 179                            <address>::1</address>
 180                        </udpv6>
 181                    </locator>
 182                </defaultUnicastLocatorList>
 183
 184                <defaultMulticastLocatorList>
 185                    <locator>
 186                        <udpv4>
 187                            <!-- Access as physical, like UDP -->
 188                            <port>7400</port>
 189                            <address>192.168.1.41</address>
 190                        </udpv4>
 191                    </locator>
 192                    <locator>
 193                        <tcpv4>
 194                            <!-- Both physical and logical (port), like TCP -->
 195                            <physical_port>5100</physical_port>
 196                            <port>7400</port>
 197                            <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 198                            <wan_address>80.80.99.45</wan_address>
 199                            <address>192.168.1.55</address>
 200                        </tcpv4>
 201                    </locator>
 202                    <locator>
 203                        <udpv6>
 204                            <port>8844</port>
 205                            <address>::1</address>
 206                        </udpv6>
 207                    </locator>
 208                </defaultMulticastLocatorList>
 209
 210                <default_external_unicast_locators>
 211                    <!-- EXTERNAL_LOCATOR_LIST -->
 212                    <udpv4 externality="1" cost="0" mask="24">
 213                        <address>100.100.100.10</address>
 214                        <port>23456</port>
 215                    </udpv4>
 216                    <udpv6 externality="1" cost="1" mask="48">
 217                        <address>::1</address>
 218                        <port>1234</port>
 219                    </udpv6>
 220                </default_external_unicast_locators>
 221
 222                <ignore_non_matching_locators>true</ignore_non_matching_locators>
 223                <sendSocketBufferSize>8192</sendSocketBufferSize>
 224                <listenSocketBufferSize>8192</listenSocketBufferSize>
 225                <netmask_filter>AUTO</netmask_filter>
 226
 227                <builtin>
 228                    <discovery_config>
 229                        <discoveryProtocol>NONE</discoveryProtocol>
 230                        <discoveryServersList>
 231                            <locator>
 232                                <udpv4>
 233                                    <address>192.168.10.57</address>
 234                                    <port>56542</port>
 235                                </udpv4>
 236                            </locator>
 237                            <locator>
 238                                <udpv4>
 239                                    <address>192.168.10.58</address>
 240                                    <port>24565</port>
 241                                </udpv4>
 242                            </locator>
 243                            <locator>
 244                                <udpv4>
 245                                    <address>192.168.10.59</address>
 246                                    <port>56543</port>
 247                                </udpv4>
 248                            </locator>
 249                            <locator>
 250                                <udpv4>
 251                                    <address>192.168.10.60</address>
 252                                    <port>34565</port>
 253                                </udpv4>
 254                            </locator>
 255                        </discoveryServersList>
 256                        <ignoreParticipantFlags>FILTER_DIFFERENT_PROCESS|FILTER_SAME_PROCESS</ignoreParticipantFlags>
 257                        <EDP>SIMPLE</EDP>
 258                        <simpleEDP>
 259                            <PUBWRITER_SUBREADER>true</PUBWRITER_SUBREADER>
 260                            <PUBREADER_SUBWRITER>true</PUBREADER_SUBWRITER>
 261                        </simpleEDP>
 262                        <leaseDuration>
 263                            <sec>DURATION_INFINITY</sec>
 264                        </leaseDuration>
 265                        <leaseAnnouncement>
 266                            <sec>1</sec>
 267                            <nanosec>856000</nanosec>
 268                        </leaseAnnouncement>
 269                        <initialAnnouncements>
 270                            <count>10</count>
 271                            <period>
 272                                <nanosec>50</nanosec>
 273                            </period>
 274                        </initialAnnouncements>
 275                        <clientAnnouncementPeriod>
 276                            <nanosec>250000000</nanosec>
 277                        </clientAnnouncementPeriod>
 278                        <static_edp_xml_config>filename1.xml</static_edp_xml_config>
 279                        <static_edp_xml_config>filename2.xml</static_edp_xml_config>
 280                        <static_edp_xml_config>filename3.xml</static_edp_xml_config>
 281                    </discovery_config>
 282
 283                    <avoid_builtin_multicast>true</avoid_builtin_multicast>
 284                    <use_WriterLivelinessProtocol>false</use_WriterLivelinessProtocol>
 285
 286                    <metatrafficUnicastLocatorList>
 287                        <locator>
 288                            <udpv4>
 289                                <!-- Access as physical, like UDP -->
 290                                <port>7400</port>
 291                                <address>192.168.1.41</address>
 292                            </udpv4>
 293                        </locator>
 294                        <locator>
 295                            <tcpv4>
 296                                <!-- Both physical and logical (port), like TCP -->
 297                                <physical_port>5100</physical_port>
 298                                <port>7400</port>
 299                                <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 300                                <wan_address>80.80.99.45</wan_address>
 301                                <address>192.168.1.55</address>
 302                            </tcpv4>
 303                        </locator>
 304                        <locator>
 305                            <udpv6>
 306                                <port>8844</port>
 307                                <address>::1</address>
 308                            </udpv6>
 309                        </locator>
 310                    </metatrafficUnicastLocatorList>
 311
 312                    <metatrafficMulticastLocatorList>
 313                        <locator>
 314                            <udpv4>
 315                                <!-- Access as physical, like UDP -->
 316                                <port>7400</port>
 317                                <address>192.168.1.41</address>
 318                            </udpv4>
 319                        </locator>
 320                        <locator>
 321                            <tcpv4>
 322                                <!-- Both physical and logical (port), like TCP -->
 323                                <physical_port>5100</physical_port>
 324                                <port>7400</port>
 325                                <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 326                                <wan_address>80.80.99.45</wan_address>
 327                                <address>192.168.1.55</address>
 328                            </tcpv4>
 329                        </locator>
 330                        <locator>
 331                            <udpv6>
 332                                <port>8844</port>
 333                                <address>::1</address>
 334                            </udpv6>
 335                        </locator>
 336                    </metatrafficMulticastLocatorList>
 337
 338                    <initialPeersList>
 339                        <locator>
 340                            <udpv4>
 341                                <!-- Access as physical, like UDP -->
 342                                <port>7400</port>
 343                                <address>192.168.1.41</address>
 344                            </udpv4>
 345                        </locator>
 346                        <locator>
 347                            <tcpv4>
 348                                <!-- Both physical and logical (port), like TCP -->
 349                                <physical_port>5100</physical_port>
 350                                <port>7400</port>
 351                                <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 352                                <wan_address>80.80.99.45</wan_address>
 353                                <address>192.168.1.55</address>
 354                            </tcpv4>
 355                        </locator>
 356                        <locator>
 357                            <udpv6>
 358                                <port>8844</port>
 359                                <address>::1</address>
 360                            </udpv6>
 361                        </locator>
 362                    </initialPeersList>
 363
 364                    <metatraffic_external_unicast_locators>
 365                        <udpv4 externality="1" cost="0" mask="24">
 366                            <address>100.100.100.10</address>
 367                            <port>34567</port>
 368                        </udpv4>
 369                    </metatraffic_external_unicast_locators>
 370
 371                    <readerHistoryMemoryPolicy>PREALLOCATED_WITH_REALLOC</readerHistoryMemoryPolicy>
 372                    <writerHistoryMemoryPolicy>PREALLOCATED</writerHistoryMemoryPolicy>
 373                    <readerPayloadSize>512</readerPayloadSize>
 374                    <writerPayloadSize>512</writerPayloadSize>
 375                    <mutation_tries>55</mutation_tries>
 376                    <flow_controller_name>example_flow_controller</flow_controller_name>
 377                </builtin>
 378
 379                <port>
 380                    <portBase>7400</portBase>
 381                    <domainIDGain>200</domainIDGain>
 382                    <participantIDGain>10</participantIDGain>
 383                    <offsetd0>0</offsetd0>
 384                    <offsetd1>1</offsetd1>
 385                    <offsetd2>2</offsetd2>
 386                    <offsetd3>3</offsetd3>
 387                </port>
 388
 389                <participantID>99</participantID>
 390
 391                <userTransports>
 392                    <transport_id>ExampleTransportId1</transport_id>
 393                    <transport_id>ExampleTransportId2</transport_id>
 394                </userTransports>
 395
 396                <useBuiltinTransports>false</useBuiltinTransports>
 397
 398                <builtinTransports max_msg_size="50KB" sockets_size="50KB" non_blocking="false">DEFAULT</builtinTransports>
 399
 400                <propertiesPolicy>
 401                    <properties>
 402                        <property>
 403                            <name>Property1Name</name>
 404                            <value>Property1Value</value>
 405                            <propagate>false</propagate>
 406                        </property>
 407                        <property>
 408                            <name>Property2Name</name>
 409                            <value>Property2Value</value>
 410                            <propagate>false</propagate>
 411                        </property>
 412                    </properties>
 413                </propertiesPolicy>
 414
 415                <allocation>
 416                    <remote_locators>
 417                        <max_unicast_locators>4</max_unicast_locators> <!-- uint32 -->
 418                        <max_multicast_locators>1</max_multicast_locators> <!-- uint32 -->
 419                    </remote_locators>
 420                    <total_participants>
 421                        <initial>0</initial>
 422                        <maximum>0</maximum>
 423                        <increment>1</increment>
 424                    </total_participants>
 425                    <total_readers>
 426                        <initial>0</initial>
 427                        <maximum>0</maximum>
 428                        <increment>1</increment>
 429                    </total_readers>
 430                    <total_writers>
 431                        <initial>0</initial>
 432                        <maximum>0</maximum>
 433                        <increment>1</increment>
 434                    </total_writers>
 435                    <max_partitions>256</max_partitions>
 436                    <max_user_data>256</max_user_data>
 437                    <max_properties>512</max_properties>
 438                    <send_buffers>
 439                        <preallocated_number>127</preallocated_number>
 440                        <dynamic>true</dynamic>
 441                        <network_buffers_config>
 442                            <initial>16</initial>
 443                            <maximum>0</maximum>
 444                            <increment>16</increment>
 445                        </network_buffers_config>
 446                    </send_buffers>
 447                </allocation>
 448
 449                <builtin_controllers_sender_thread>
 450                    <scheduling_policy>-1</scheduling_policy>
 451                    <priority>0</priority>
 452                    <affinity>0</affinity>
 453                    <stack_size>-1</stack_size>
 454                </builtin_controllers_sender_thread>
 455
 456                <timed_events_thread>
 457                    <scheduling_policy>-1</scheduling_policy>
 458                    <priority>0</priority>
 459                    <affinity>0</affinity>
 460                    <stack_size>-1</stack_size>
 461                </timed_events_thread>
 462
 463                <discovery_server_thread>
 464                    <scheduling_policy>-1</scheduling_policy>
 465                    <priority>0</priority>
 466                    <affinity>0</affinity>
 467                    <stack_size>-1</stack_size>
 468                </discovery_server_thread>
 469
 470                <typelookup_service_thread>
 471                    <scheduling_policy>-1</scheduling_policy>
 472                    <priority>0</priority>
 473                    <affinity>0</affinity>
 474                    <stack_size>-1</stack_size>
 475                </typelookup_service_thread>
 476
 477                <builtin_transports_reception_threads>
 478                    <scheduling_policy>-1</scheduling_policy>
 479                    <priority>0</priority>
 480                    <affinity>0</affinity>
 481                    <stack_size>-1</stack_size>
 482                </builtin_transports_reception_threads>
 483
 484                <security_log_thread>
 485                    <scheduling_policy>-1</scheduling_policy>
 486                    <priority>0</priority>
 487                    <affinity>0</affinity>
 488                    <stack_size>-1</stack_size>
 489                </security_log_thread>
 490
 491                <flow_controller_descriptor_list>
 492                    <flow_controller_descriptor>
 493                        <name>example_flow_controller</name>
 494                        <scheduler>FIFO</scheduler>
 495                        <max_bytes_per_period>4096</max_bytes_per_period>
 496                        <period_ms>500</period_ms>
 497                        <sender_thread>
 498                            <scheduling_policy>-1</scheduling_policy>
 499                            <priority>0</priority>
 500                            <affinity>0</affinity>
 501                            <stack_size>-1</stack_size>
 502                        </sender_thread>
 503                    </flow_controller_descriptor>
 504                </flow_controller_descriptor_list>
 505            </rtps>
 506        </participant>
 507
 508        <data_writer profile_name="datawriter_profile_example">
 509            <topic>
 510                <historyQos>
 511                    <kind>KEEP_LAST</kind>
 512                    <depth>20</depth>
 513                </historyQos>
 514                <resourceLimitsQos>
 515                    <max_samples>5</max_samples>
 516                    <max_instances>2</max_instances>
 517                    <max_samples_per_instance>1</max_samples_per_instance>
 518                    <allocated_samples>20</allocated_samples>
 519                    <extra_samples>10</extra_samples>
 520                </resourceLimitsQos>
 521            </topic>
 522            <qos> <!-- dataWriterQosPoliciesType -->
 523                <data_sharing>
 524                    <kind>AUTOMATIC</kind>
 525                    <shared_dir>/home</shared_dir>
 526                    <max_domains>10</max_domains>
 527                    <domain_ids>
 528                        <domainId>0</domainId>
 529                        <domainId>11</domainId>
 530                    </domain_ids>
 531                </data_sharing>
 532                <deadline>
 533                    <period>
 534                        <sec>1</sec>
 535                    </period>
 536                </deadline>
 537                <disable_heartbeat_piggyback>true</disable_heartbeat_piggyback>
 538                <disablePositiveAcks>
 539                    <enabled>true</enabled>
 540                    <duration>
 541                        <sec>1</sec>
 542                    </duration>
 543                </disablePositiveAcks>
 544                <durability>
 545                    <kind>VOLATILE</kind>
 546                </durability>
 547                <!-- QoS policy pending implementation -->
 548                <latencyBudget>
 549                    <duration>
 550                        <sec>1</sec>
 551                    </duration>
 552                </latencyBudget>
 553                <lifespan>
 554                    <duration>
 555                        <sec>5</sec>
 556                    </duration>
 557                </lifespan>
 558                <liveliness>
 559                    <kind>AUTOMATIC</kind>
 560                    <lease_duration>
 561                        <sec>1</sec>
 562                        <nanosec>856000</nanosec>
 563                    </lease_duration>
 564                    <announcement_period>
 565                        <sec>1</sec>
 566                        <nanosec>856000</nanosec>
 567                    </announcement_period>
 568                </liveliness>
 569                <ownership>
 570                    <kind>EXCLUSIVE</kind>
 571                </ownership>
 572                <ownershipStrength>
 573                    <value>50</value>
 574                </ownershipStrength>
 575                <transport_priority>-20</transport_priority>
 576                <partition>
 577                    <names>
 578                        <name>part1</name>
 579                        <name>part2</name>
 580                    </names>
 581                </partition>
 582                <publishMode>
 583                    <kind>ASYNCHRONOUS</kind>
 584                    <flow_controller_name>example_flow_controller</flow_controller_name>
 585                </publishMode>
 586                <reliability>
 587                    <kind>BEST_EFFORT</kind>
 588                    <max_blocking_time>
 589                        <sec>1</sec>
 590                        <nanosec>856000</nanosec>
 591                    </max_blocking_time>
 592                </reliability>
 593            </qos>
 594
 595            <times>
 596                <initial_heartbeat_delay>
 597                    <sec>1</sec>
 598                    <nanosec>856000</nanosec>
 599                </initial_heartbeat_delay>
 600                <heartbeat_period>
 601                    <sec>1</sec>
 602                    <nanosec>856000</nanosec>
 603                </heartbeat_period>
 604                <nack_response_delay>
 605                    <sec>1</sec>
 606                    <nanosec>856000</nanosec>
 607                </nack_response_delay>
 608                <nack_supression_duration>
 609                    <sec>1</sec>
 610                    <nanosec>856000</nanosec>
 611                </nack_supression_duration>
 612            </times>
 613
 614            <unicastLocatorList>
 615                <locator>
 616                    <udpv4>
 617                        <!-- Access as physical, like UDP -->
 618                        <port>7400</port>
 619                        <address>192.168.1.41</address>
 620                    </udpv4>
 621                </locator>
 622                <locator>
 623                    <tcpv4>
 624                        <!-- Both physical and logical (port), like TCP -->
 625                        <physical_port>5100</physical_port>
 626                        <port>7400</port>
 627                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 628                        <wan_address>80.80.99.45</wan_address>
 629                        <address>192.168.1.55</address>
 630                    </tcpv4>
 631                </locator>
 632                <locator>
 633                    <udpv6>
 634                        <port>8844</port>
 635                        <address>::1</address>
 636                    </udpv6>
 637                </locator>
 638            </unicastLocatorList>
 639
 640            <multicastLocatorList>
 641                <locator>
 642                    <udpv4>
 643                        <!-- Access as physical, like UDP -->
 644                        <port>7400</port>
 645                        <address>192.168.1.41</address>
 646                    </udpv4>
 647                </locator>
 648                <locator>
 649                    <tcpv4>
 650                        <!-- Both physical and logical (port), like TCP -->
 651                        <physical_port>5100</physical_port>
 652                        <port>7400</port>
 653                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 654                        <wan_address>80.80.99.45</wan_address>
 655                        <address>192.168.1.55</address>
 656                    </tcpv4>
 657                </locator>
 658                <locator>
 659                    <udpv6>
 660                        <port>8844</port>
 661                        <address>::1</address>
 662                    </udpv6>
 663                </locator>
 664            </multicastLocatorList>
 665
 666            <external_unicast_locators>
 667                <udpv4 externality="1" cost="0" mask="24">
 668                    <address>100.100.100.10</address>
 669                    <port>12345</port>
 670                </udpv4>
 671            </external_unicast_locators>
 672
 673            <ignore_non_matching_locators>true</ignore_non_matching_locators>
 674            <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
 675
 676            <propertiesPolicy>
 677                <properties>
 678                    <property>
 679                        <name>Property1Name</name>
 680                        <value>Property1Value</value>
 681                        <propagate>false</propagate>
 682                    </property>
 683                    <property>
 684                        <name>Property2Name</name>
 685                        <value>Property2Value</value>
 686                        <propagate>false</propagate>
 687                    </property>
 688                </properties>
 689            </propertiesPolicy>
 690
 691            <userDefinedID>45</userDefinedID>
 692            <entityID>76</entityID>
 693
 694            <matchedSubscribersAllocation>
 695                <initial>3</initial>
 696                <maximum>3</maximum>
 697                <increment>0</increment>
 698            </matchedSubscribersAllocation>
 699        </data_writer>
 700
 701        <data_reader profile_name="datareader_profile_example">
 702            <topic>
 703                <historyQos>
 704                    <kind>KEEP_LAST</kind>
 705                    <depth>20</depth>
 706                </historyQos>
 707                <resourceLimitsQos>
 708                    <max_samples>5</max_samples>
 709                    <max_instances>2</max_instances>
 710                    <max_samples_per_instance>1</max_samples_per_instance>
 711                    <allocated_samples>20</allocated_samples>
 712                    <extra_samples>10</extra_samples>
 713                </resourceLimitsQos>
 714            </topic>
 715            <qos> <!-- dataReaderQosPoliciesType -->
 716                <data_sharing>
 717                    <kind>AUTOMATIC</kind>
 718                    <shared_dir>/home</shared_dir>
 719                    <max_domains>10</max_domains>
 720                    <domain_ids>
 721                        <domainId>0</domainId>
 722                        <domainId>11</domainId>
 723                    </domain_ids>
 724                    <data_sharing_listener_thread>
 725                        <scheduling_policy>-1</scheduling_policy>
 726                        <priority>0</priority>
 727                        <affinity>0</affinity>
 728                        <stack_size>-1</stack_size>
 729                    </data_sharing_listener_thread>
 730                </data_sharing>
 731                <deadline>
 732                    <period>
 733                        <sec>1</sec>
 734                    </period>
 735                </deadline>
 736                <disablePositiveAcks>
 737                    <enabled>true</enabled>
 738                    <duration>
 739                        <sec>1</sec>
 740                    </duration>
 741                </disablePositiveAcks>
 742                <durability>
 743                    <kind>PERSISTENT</kind>
 744                </durability>
 745                <!-- QoS policy pending implementation -->
 746                <latencyBudget>
 747                    <duration>
 748                        <sec>1</sec>
 749                    </duration>
 750                </latencyBudget>
 751                <lifespan>
 752                    <duration>
 753                        <sec>5</sec>
 754                    </duration>
 755                </lifespan>
 756                <liveliness>
 757                    <kind>MANUAL_BY_PARTICIPANT</kind>
 758                    <lease_duration>
 759                        <sec>1</sec>
 760                        <nanosec>856000</nanosec>
 761                    </lease_duration>
 762                    <announcement_period>
 763                        <sec>1</sec>
 764                        <nanosec>856000</nanosec>
 765                    </announcement_period>
 766                </liveliness>
 767                <ownership>
 768                    <kind>EXCLUSIVE</kind>
 769                </ownership>
 770                <partition>
 771                    <names>
 772                        <name>part1</name>
 773                        <name>part2</name>
 774                    </names>
 775                </partition>
 776                <reliability>
 777                    <kind>BEST_EFFORT</kind>
 778                    <max_blocking_time>
 779                        <sec>1</sec>
 780                        <nanosec>856000</nanosec>
 781                    </max_blocking_time>
 782                </reliability>
 783            </qos>
 784
 785            <times>
 786                <initial_acknack_delay>
 787                    <sec>1</sec>
 788                    <nanosec>856000</nanosec>
 789                </initial_acknack_delay>
 790                <heartbeat_response_delay>
 791                    <sec>1</sec>
 792                    <nanosec>856000</nanosec>
 793                </heartbeat_response_delay>
 794            </times>
 795
 796            <unicastLocatorList>
 797                <locator>
 798                    <udpv4>
 799                        <!-- Access as physical, like UDP -->
 800                        <port>7400</port>
 801                        <address>192.168.1.41</address>
 802                    </udpv4>
 803                </locator>
 804                <locator>
 805                    <tcpv4>
 806                        <!-- Both physical and logical (port), like TCP -->
 807                        <physical_port>5100</physical_port>
 808                        <port>7400</port>
 809                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 810                        <wan_address>80.80.99.45</wan_address>
 811                        <address>192.168.1.55</address>
 812                    </tcpv4>
 813                </locator>
 814                <locator>
 815                    <udpv6>
 816                        <port>8844</port>
 817                        <address>::1</address>
 818                    </udpv6>
 819                </locator>
 820            </unicastLocatorList>
 821
 822            <multicastLocatorList>
 823                <locator>
 824                    <udpv4>
 825                        <!-- Access as physical, like UDP -->
 826                        <port>7400</port>
 827                        <address>192.168.1.41</address>
 828                    </udpv4>
 829                </locator>
 830                <locator>
 831                    <tcpv4>
 832                        <!-- Both physical and logical (port), like TCP -->
 833                        <physical_port>5100</physical_port>
 834                        <port>7400</port>
 835                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 836                        <wan_address>80.80.99.45</wan_address>
 837                        <address>192.168.1.55</address>
 838                    </tcpv4>
 839                </locator>
 840                <locator>
 841                    <udpv6>
 842                        <port>8844</port>
 843                        <address>::1</address>
 844                    </udpv6>
 845                </locator>
 846            </multicastLocatorList>
 847
 848            <external_unicast_locators>
 849                <udpv4 externality="1" cost="0" mask="24">
 850                    <address>100.100.100.10</address>
 851                    <port>12345</port>
 852                </udpv4>
 853            </external_unicast_locators>
 854
 855            <ignore_non_matching_locators>true</ignore_non_matching_locators>
 856            <expects_inline_qos>true</expects_inline_qos>
 857            <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
 858
 859            <propertiesPolicy>
 860                <properties>
 861                    <property>
 862                        <name>Property1Name</name>
 863                        <value>Property1Value</value>
 864                        <propagate>false</propagate>
 865                    </property>
 866                    <property>
 867                        <name>Property2Name</name>
 868                        <value>Property2Value</value>
 869                        <propagate>false</propagate>
 870                    </property>
 871                </properties>
 872            </propertiesPolicy>
 873
 874            <userDefinedID>55</userDefinedID>
 875            <entityID>66</entityID>
 876
 877            <matchedPublishersAllocation>
 878                <initial>1</initial>
 879                <maximum>1</maximum>
 880                <increment>0</increment>
 881            </matchedPublishersAllocation>
 882        </data_reader>
 883
 884        <topic profile_name="topic_profile_example">
 885            <historyQos>
 886                <kind>KEEP_LAST</kind>
 887                <depth>20</depth>
 888            </historyQos>
 889            <resourceLimitsQos>
 890                <max_samples>5</max_samples>
 891                <max_instances>2</max_instances>
 892                <max_samples_per_instance>1</max_samples_per_instance>
 893                <allocated_samples>20</allocated_samples>
 894                <extra_samples>10</extra_samples>
 895            </resourceLimitsQos>
 896        </topic>
 897    </profiles>
 898
 899    <library_settings>
 900        <intraprocess_delivery>USER_DATA_ONLY</intraprocess_delivery>
 901    </library_settings>
 902
 903    <log>
 904        <use_default>false</use_default>
 905
 906        <consumer>
 907            <class>StdoutConsumer</class>
 908        </consumer>
 909
 910        <consumer>
 911            <class>StdoutErrConsumer</class>
 912            <property>
 913                <name>stderr_threshold</name>
 914                <value>Log::Kind::Warning</value>
 915            </property>
 916        </consumer>
 917
 918        <consumer>
 919            <class>FileConsumer</class>
 920            <property>
 921                <name>filename</name>
 922                <value>execution.log</value>
 923            </property>
 924            <property>
 925                <name>append</name>
 926                <value>TRUE</value>
 927            </property>
 928        </consumer>
 929
 930        <thread_settings>
 931            <scheduling_policy>-1</scheduling_policy>
 932            <priority>0</priority>
 933            <affinity>0</affinity>
 934            <stack_size>-1</stack_size>
 935        </thread_settings>
 936    </log>
 937
 938    <types>
 939        <type> <!-- Types can be defined in its own type of tag or sharing the same tag -->
 940            <enum name="MyAloneEnumType">
 941                <enumerator name="A" value="0"/>
 942                <enumerator name="B" value="1"/>
 943                <enumerator name="C"/>
 944            </enum>
 945        </type>
 946        <type>
 947            <!-- All possible members struct type -->
 948            <struct name="MyFullStruct">
 949                <!-- Primitives & basic -->
 950                <member name="my_bool" type="boolean"/>
 951                <member name="my_char" type="char8"/>
 952                <member name="my_wchar" type="char16"/>
 953                <member name="my_byte" type="byte"/>
 954                <member name="my_octet" type="octet"/>
 955                <member name="my_uint8" type="uint8"/>
 956                <member name="my_short" type="int16"/>
 957                <member name="my_long" type="int32"/>
 958                <member name="my_unsignedshort" type="uint16"/>
 959                <member name="my_unsignedlong" type="uint32"/>
 960                <member name="my_longlong" type="int64"/>
 961                <member name="my_unsignedlonglong" type="uint64"/>
 962                <member name="my_float" type="float32"/>
 963                <member name="my_double" type="float64"/>
 964                <member name="my_longdouble" type="float128"/>
 965                <member name="my_string" type="string"/>
 966                <member name="my_wstring" type="wstring"/>
 967
 968                <!-- string my_boundedString[41925] -->
 969                <member name="my_boundedString" type="string" stringMaxLength="41925"/>
 970                <!-- wstring my_boundedWString[41925] -->
 971                <member name="my_boundedWString" type="wstring" stringMaxLength="41925"/>
 972
 973                <!-- short short_sequence[5]; -->
 974                <member name="short_sequence" sequenceMaxLength="5" type="int16"/>
 975
 976                <!-- long long_array[2][3][4]; -->
 977                <member name="long_array" arrayDimensions="2,3,4" type="int32"/>
 978
 979                <!-- map<long,long,2> my_map_inner -->
 980                <member name="my_map" type="int32" key_type="int32" mapMaxLength="2"/>
 981            </struct>
 982
 983            <typedef name="inner_map" type="char8" key_type="int16"/>
 984            <struct name="MyComplexStruct">
 985                <!-- Complex types -->
 986                <member name="my_other_struct" type="nonBasic" nonBasicTypeName="MyFullStruct"/>
 987                <!-- map<long,map<long,long,2>,2> my_map_map; -->
 988                <member name="my_map_map" type="nonBasic" nonBasicTypeName="inner_map" key_type="int32" mapMaxLength="2"/>
 989            </struct>
 990
 991            <enum name="MyEnum">
 992                <enumerator name="A" value="0"/>
 993                <enumerator name="B" value="1"/>
 994                <enumerator name="C"/>
 995            </enum>
 996
 997            <typedef name="MyAlias1" type="nonBasic" nonBasicTypeName="MyEnum"/>
 998            <typedef name="MyAlias2" type="int32" arrayDimensions="2,2"/>
 999
1000            <struct name="MyStruct">
1001                <member name="first" type="int32"/>
1002                <member name="second" type="int64"/>
1003            </struct>
1004
1005            <!-- TODO(XTypes: Fix inheritance loading from XML profile) Fast DDS#4626 -->
1006            <!-- <struct name="OtherInheritedStruct" baseType="MyStruct">
1007                <member name="my_enum" type="nonBasic" nonBasicTypeName="MyEnum"/>
1008                <member name="my_struct" type="nonBasic" nonBasicTypeName="MyFullStruct" arrayDimensions="5"/>
1009            </struct> -->
1010
1011            <union name="MyUnion1">
1012                <discriminator type="byte"/>
1013                <case>
1014                    <caseDiscriminator value="0"/>
1015                    <caseDiscriminator value="1"/>
1016                    <member name="first" type="int32"/>
1017                </case>
1018                <case>
1019                    <caseDiscriminator value="2"/>
1020                    <member name="second" type="nonBasic" nonBasicTypeName="MyStruct"/>
1021                </case>
1022                <case>
1023                    <caseDiscriminator value="default"/>
1024                    <member name="third" type="int64"/>
1025                </case>
1026            </union>
1027
1028            <bitset name="MyBitSet">
1029                <bitfield name="a" bit_bound="3"/>
1030                <bitfield name="b" bit_bound="10"/>
1031                <bitfield name="c" bit_bound="12" type="int16"/>
1032            </bitset>
1033
1034            <!-- TODO(XTypes: Fix inheritance loading from XML profile) Fast DDS#4626 -->
1035            <!-- <bitset name="OtherInheritedBitSet" baseType="MyBitSet">
1036                <bitfield bit_bound="8"/>
1037                <bitfield bit_bound="15" type="byte"/>
1038            </bitset> -->
1039
1040            <bitmask name="MyBitMask" bit_bound="8">
1041                <bit_value name="flag0" position="0"/>
1042                <bit_value name="flag1"/>
1043            </bitmask>
1044        </type>
1045    </types>
1046</dds>