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/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                <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                            <RemoteServer prefix="72.61.73.70.66.61.72.6d.74.65.73.74">
 232                                <metatrafficUnicastLocatorList>
 233                                    <locator>
 234                                        <udpv4>
 235                                            <address>192.168.10.57</address>
 236                                            <port>56542</port>
 237                                        </udpv4>
 238                                    </locator>
 239                                </metatrafficUnicastLocatorList>
 240                                <metatrafficMulticastLocatorList>
 241                                    <locator>
 242                                        <udpv4>
 243                                            <address>192.168.10.58</address>
 244                                            <port>24565</port>
 245                                        </udpv4>
 246                                    </locator>
 247                                </metatrafficMulticastLocatorList>
 248                            </RemoteServer>
 249                            <RemoteServer prefix="72.61.73.70.66.61.72.6d.74.65.73.75">
 250                                <metatrafficUnicastLocatorList>
 251                                    <locator>
 252                                        <udpv4>
 253                                            <address>192.168.10.59</address>
 254                                            <port>56543</port>
 255                                        </udpv4>
 256                                    </locator>
 257                                </metatrafficUnicastLocatorList>
 258                                <metatrafficMulticastLocatorList>
 259                                    <locator>
 260                                        <udpv4>
 261                                            <address>192.168.10.60</address>
 262                                            <port>34565</port>
 263                                        </udpv4>
 264                                    </locator>
 265                                </metatrafficMulticastLocatorList>
 266                            </RemoteServer>
 267                        </discoveryServersList>
 268                        <ignoreParticipantFlags>FILTER_DIFFERENT_PROCESS|FILTER_SAME_PROCESS</ignoreParticipantFlags>
 269                        <EDP>SIMPLE</EDP>
 270                        <simpleEDP>
 271                            <PUBWRITER_SUBREADER>true</PUBWRITER_SUBREADER>
 272                            <PUBREADER_SUBWRITER>true</PUBREADER_SUBWRITER>
 273                        </simpleEDP>
 274                        <leaseDuration>
 275                            <sec>DURATION_INFINITY</sec>
 276                        </leaseDuration>
 277                        <leaseAnnouncement>
 278                            <sec>1</sec>
 279                            <nanosec>856000</nanosec>
 280                        </leaseAnnouncement>
 281                        <initialAnnouncements>
 282                            <count>10</count>
 283                            <period>
 284                                <nanosec>50</nanosec>
 285                            </period>
 286                        </initialAnnouncements>
 287                        <clientAnnouncementPeriod>
 288                            <nanosec>250000000</nanosec>
 289                        </clientAnnouncementPeriod>
 290                        <static_edp_xml_config>filename1.xml</static_edp_xml_config>
 291                        <static_edp_xml_config>filename2.xml</static_edp_xml_config>
 292                        <static_edp_xml_config>filename3.xml</static_edp_xml_config>
 293                    </discovery_config>
 294
 295                    <avoid_builtin_multicast>true</avoid_builtin_multicast>
 296                    <use_WriterLivelinessProtocol>false</use_WriterLivelinessProtocol>
 297
 298                    <metatrafficUnicastLocatorList>
 299                        <locator>
 300                            <udpv4>
 301                                <!-- Access as physical, like UDP -->
 302                                <port>7400</port>
 303                                <address>192.168.1.41</address>
 304                            </udpv4>
 305                        </locator>
 306                        <locator>
 307                            <tcpv4>
 308                                <!-- Both physical and logical (port), like TCP -->
 309                                <physical_port>5100</physical_port>
 310                                <port>7400</port>
 311                                <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 312                                <wan_address>80.80.99.45</wan_address>
 313                                <address>192.168.1.55</address>
 314                            </tcpv4>
 315                        </locator>
 316                        <locator>
 317                            <udpv6>
 318                                <port>8844</port>
 319                                <address>::1</address>
 320                            </udpv6>
 321                        </locator>
 322                    </metatrafficUnicastLocatorList>
 323
 324                    <metatrafficMulticastLocatorList>
 325                        <locator>
 326                            <udpv4>
 327                                <!-- Access as physical, like UDP -->
 328                                <port>7400</port>
 329                                <address>192.168.1.41</address>
 330                            </udpv4>
 331                        </locator>
 332                        <locator>
 333                            <tcpv4>
 334                                <!-- Both physical and logical (port), like TCP -->
 335                                <physical_port>5100</physical_port>
 336                                <port>7400</port>
 337                                <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 338                                <wan_address>80.80.99.45</wan_address>
 339                                <address>192.168.1.55</address>
 340                            </tcpv4>
 341                        </locator>
 342                        <locator>
 343                            <udpv6>
 344                                <port>8844</port>
 345                                <address>::1</address>
 346                            </udpv6>
 347                        </locator>
 348                    </metatrafficMulticastLocatorList>
 349
 350                    <initialPeersList>
 351                        <locator>
 352                            <udpv4>
 353                                <!-- Access as physical, like UDP -->
 354                                <port>7400</port>
 355                                <address>192.168.1.41</address>
 356                            </udpv4>
 357                        </locator>
 358                        <locator>
 359                            <tcpv4>
 360                                <!-- Both physical and logical (port), like TCP -->
 361                                <physical_port>5100</physical_port>
 362                                <port>7400</port>
 363                                <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 364                                <wan_address>80.80.99.45</wan_address>
 365                                <address>192.168.1.55</address>
 366                            </tcpv4>
 367                        </locator>
 368                        <locator>
 369                            <udpv6>
 370                                <port>8844</port>
 371                                <address>::1</address>
 372                            </udpv6>
 373                        </locator>
 374                    </initialPeersList>
 375
 376                    <metatraffic_external_unicast_locators>
 377                        <udpv4 externality="1" cost="0" mask="24">
 378                            <address>100.100.100.10</address>
 379                            <port>34567</port>
 380                        </udpv4>
 381                    </metatraffic_external_unicast_locators>
 382
 383                    <readerHistoryMemoryPolicy>PREALLOCATED_WITH_REALLOC</readerHistoryMemoryPolicy>
 384                    <writerHistoryMemoryPolicy>PREALLOCATED</writerHistoryMemoryPolicy>
 385                    <readerPayloadSize>512</readerPayloadSize>
 386                    <writerPayloadSize>512</writerPayloadSize>
 387                    <mutation_tries>55</mutation_tries>
 388                    <typelookup_config>
 389                        <use_client>true</use_client>
 390                        <use_server>true</use_server>
 391                    </typelookup_config>
 392                </builtin>
 393
 394                <port>
 395                    <portBase>7400</portBase>
 396                    <domainIDGain>200</domainIDGain>
 397                    <participantIDGain>10</participantIDGain>
 398                    <offsetd0>0</offsetd0>
 399                    <offsetd1>1</offsetd1>
 400                    <offsetd2>2</offsetd2>
 401                    <offsetd3>3</offsetd3>
 402                </port>
 403
 404                <participantID>99</participantID>
 405
 406                <userTransports>
 407                    <transport_id>ExampleTransportId1</transport_id>
 408                    <transport_id>ExampleTransportId2</transport_id>
 409                </userTransports>
 410
 411                <useBuiltinTransports>false</useBuiltinTransports>
 412
 413                <builtinTransports max_msg_size="50KB" sockets_size="50KB" non_blocking="false">DEFAULT</builtinTransports>
 414
 415                <propertiesPolicy>
 416                    <properties>
 417                        <property>
 418                            <name>Property1Name</name>
 419                            <value>Property1Value</value>
 420                            <propagate>false</propagate>
 421                        </property>
 422                        <property>
 423                            <name>Property2Name</name>
 424                            <value>Property2Value</value>
 425                            <propagate>false</propagate>
 426                        </property>
 427                    </properties>
 428                </propertiesPolicy>
 429
 430                <allocation>
 431                    <remote_locators>
 432                        <max_unicast_locators>4</max_unicast_locators> <!-- uint32 -->
 433                        <max_multicast_locators>1</max_multicast_locators> <!-- uint32 -->
 434                    </remote_locators>
 435                    <total_participants>
 436                        <initial>0</initial>
 437                        <maximum>0</maximum>
 438                        <increment>1</increment>
 439                    </total_participants>
 440                    <total_readers>
 441                        <initial>0</initial>
 442                        <maximum>0</maximum>
 443                        <increment>1</increment>
 444                    </total_readers>
 445                    <total_writers>
 446                        <initial>0</initial>
 447                        <maximum>0</maximum>
 448                        <increment>1</increment>
 449                    </total_writers>
 450                    <max_partitions>256</max_partitions>
 451                    <max_user_data>256</max_user_data>
 452                    <max_properties>512</max_properties>
 453                    <send_buffers>
 454                        <preallocated_number>127</preallocated_number>
 455                        <dynamic>true</dynamic>
 456                    </send_buffers>
 457                </allocation>
 458
 459                <builtin_controllers_sender_thread>
 460                    <scheduling_policy>-1</scheduling_policy>
 461                    <priority>0</priority>
 462                    <affinity>0</affinity>
 463                    <stack_size>-1</stack_size>
 464                </builtin_controllers_sender_thread>
 465
 466                <timed_events_thread>
 467                    <scheduling_policy>-1</scheduling_policy>
 468                    <priority>0</priority>
 469                    <affinity>0</affinity>
 470                    <stack_size>-1</stack_size>
 471                </timed_events_thread>
 472
 473                <discovery_server_thread>
 474                    <scheduling_policy>-1</scheduling_policy>
 475                    <priority>0</priority>
 476                    <affinity>0</affinity>
 477                    <stack_size>-1</stack_size>
 478                </discovery_server_thread>
 479
 480                <builtin_transports_reception_threads>
 481                    <scheduling_policy>-1</scheduling_policy>
 482                    <priority>0</priority>
 483                    <affinity>0</affinity>
 484                    <stack_size>-1</stack_size>
 485                </builtin_transports_reception_threads>
 486
 487                <security_log_thread>
 488                    <scheduling_policy>-1</scheduling_policy>
 489                    <priority>0</priority>
 490                    <affinity>0</affinity>
 491                    <stack_size>-1</stack_size>
 492                </security_log_thread>
 493            </rtps>
 494        </participant>
 495
 496        <data_writer profile_name="datawriter_profile_example">
 497            <topic>
 498                <historyQos>
 499                    <kind>KEEP_LAST</kind>
 500                    <depth>20</depth>
 501                </historyQos>
 502                <resourceLimitsQos>
 503                    <max_samples>5</max_samples>
 504                    <max_instances>2</max_instances>
 505                    <max_samples_per_instance>1</max_samples_per_instance>
 506                    <allocated_samples>20</allocated_samples>
 507                    <extra_samples>10</extra_samples>
 508                </resourceLimitsQos>
 509            </topic>
 510            <qos> <!-- dataWriterQosPoliciesType -->
 511                <data_sharing>
 512                    <kind>AUTOMATIC</kind>
 513                    <shared_dir>/home</shared_dir>
 514                    <max_domains>10</max_domains>
 515                    <domain_ids>
 516                        <domainId>0</domainId>
 517                        <domainId>11</domainId>
 518                    </domain_ids>
 519                </data_sharing>
 520                <deadline>
 521                    <period>
 522                        <sec>1</sec>
 523                    </period>
 524                </deadline>
 525                <disable_heartbeat_piggyback>true</disable_heartbeat_piggyback>
 526                <disablePositiveAcks>
 527                    <enabled>true</enabled>
 528                    <duration>
 529                        <sec>1</sec>
 530                    </duration>
 531                </disablePositiveAcks>
 532                <durability>
 533                    <kind>VOLATILE</kind>
 534                </durability>
 535                <!-- QoS policy pending implementation -->
 536                <latencyBudget>
 537                    <duration>
 538                        <sec>1</sec>
 539                    </duration>
 540                </latencyBudget>
 541                <lifespan>
 542                    <duration>
 543                        <sec>5</sec>
 544                    </duration>
 545                </lifespan>
 546                <liveliness>
 547                    <kind>AUTOMATIC</kind>
 548                    <lease_duration>
 549                        <sec>1</sec>
 550                        <nanosec>856000</nanosec>
 551                    </lease_duration>
 552                    <announcement_period>
 553                        <sec>1</sec>
 554                        <nanosec>856000</nanosec>
 555                    </announcement_period>
 556                </liveliness>
 557                <ownership>
 558                    <kind>EXCLUSIVE</kind>
 559                </ownership>
 560                <ownershipStrength>
 561                    <value>50</value>
 562                </ownershipStrength>
 563                <partition>
 564                    <names>
 565                        <name>part1</name>
 566                        <name>part2</name>
 567                    </names>
 568                </partition>
 569                <publishMode>
 570                    <kind>ASYNCHRONOUS</kind>
 571                </publishMode>
 572                <reliability>
 573                    <kind>BEST_EFFORT</kind>
 574                    <max_blocking_time>
 575                        <sec>1</sec>
 576                        <nanosec>856000</nanosec>
 577                    </max_blocking_time>
 578                </reliability>
 579            </qos>
 580
 581            <times>
 582                <initialHeartbeatDelay>
 583                    <sec>1</sec>
 584                    <nanosec>856000</nanosec>
 585                </initialHeartbeatDelay>
 586                <heartbeatPeriod>
 587                    <sec>1</sec>
 588                    <nanosec>856000</nanosec>
 589                </heartbeatPeriod>
 590                <nackResponseDelay>
 591                    <sec>1</sec>
 592                    <nanosec>856000</nanosec>
 593                </nackResponseDelay>
 594                <nackSupressionDuration>
 595                    <sec>1</sec>
 596                    <nanosec>856000</nanosec>
 597                </nackSupressionDuration>
 598            </times>
 599
 600            <unicastLocatorList>
 601                <locator>
 602                    <udpv4>
 603                        <!-- Access as physical, like UDP -->
 604                        <port>7400</port>
 605                        <address>192.168.1.41</address>
 606                    </udpv4>
 607                </locator>
 608                <locator>
 609                    <tcpv4>
 610                        <!-- Both physical and logical (port), like TCP -->
 611                        <physical_port>5100</physical_port>
 612                        <port>7400</port>
 613                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 614                        <wan_address>80.80.99.45</wan_address>
 615                        <address>192.168.1.55</address>
 616                    </tcpv4>
 617                </locator>
 618                <locator>
 619                    <udpv6>
 620                        <port>8844</port>
 621                        <address>::1</address>
 622                    </udpv6>
 623                </locator>
 624            </unicastLocatorList>
 625
 626            <multicastLocatorList>
 627                <locator>
 628                    <udpv4>
 629                        <!-- Access as physical, like UDP -->
 630                        <port>7400</port>
 631                        <address>192.168.1.41</address>
 632                    </udpv4>
 633                </locator>
 634                <locator>
 635                    <tcpv4>
 636                        <!-- Both physical and logical (port), like TCP -->
 637                        <physical_port>5100</physical_port>
 638                        <port>7400</port>
 639                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 640                        <wan_address>80.80.99.45</wan_address>
 641                        <address>192.168.1.55</address>
 642                    </tcpv4>
 643                </locator>
 644                <locator>
 645                    <udpv6>
 646                        <port>8844</port>
 647                        <address>::1</address>
 648                    </udpv6>
 649                </locator>
 650            </multicastLocatorList>
 651
 652            <external_unicast_locators>
 653                <udpv4 externality="1" cost="0" mask="24">
 654                    <address>100.100.100.10</address>
 655                    <port>12345</port>
 656                </udpv4>
 657            </external_unicast_locators>
 658
 659            <ignore_non_matching_locators>true</ignore_non_matching_locators>
 660            <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
 661
 662            <propertiesPolicy>
 663                <properties>
 664                    <property>
 665                        <name>Property1Name</name>
 666                        <value>Property1Value</value>
 667                        <propagate>false</propagate>
 668                    </property>
 669                    <property>
 670                        <name>Property2Name</name>
 671                        <value>Property2Value</value>
 672                        <propagate>false</propagate>
 673                    </property>
 674                </properties>
 675            </propertiesPolicy>
 676
 677            <userDefinedID>45</userDefinedID>
 678            <entityID>76</entityID>
 679
 680            <matchedSubscribersAllocation>
 681                <initial>3</initial>
 682                <maximum>3</maximum>
 683                <increment>0</increment>
 684            </matchedSubscribersAllocation>
 685        </data_writer>
 686
 687        <data_reader profile_name="datareader_profile_example">
 688            <topic>
 689                <historyQos>
 690                    <kind>KEEP_LAST</kind>
 691                    <depth>20</depth>
 692                </historyQos>
 693                <resourceLimitsQos>
 694                    <max_samples>5</max_samples>
 695                    <max_instances>2</max_instances>
 696                    <max_samples_per_instance>1</max_samples_per_instance>
 697                    <allocated_samples>20</allocated_samples>
 698                    <extra_samples>10</extra_samples>
 699                </resourceLimitsQos>
 700            </topic>
 701            <qos> <!-- dataReaderQosPoliciesType -->
 702                <data_sharing>
 703                    <kind>AUTOMATIC</kind>
 704                    <shared_dir>/home</shared_dir>
 705                    <max_domains>10</max_domains>
 706                    <domain_ids>
 707                        <domainId>0</domainId>
 708                        <domainId>11</domainId>
 709                    </domain_ids>
 710                    <data_sharing_listener_thread>
 711                        <scheduling_policy>-1</scheduling_policy>
 712                        <priority>0</priority>
 713                        <affinity>0</affinity>
 714                        <stack_size>-1</stack_size>
 715                    </data_sharing_listener_thread>
 716                </data_sharing>
 717                <deadline>
 718                    <period>
 719                        <sec>1</sec>
 720                    </period>
 721                </deadline>
 722                <disablePositiveAcks>
 723                    <enabled>true</enabled>
 724                    <duration>
 725                        <sec>1</sec>
 726                    </duration>
 727                </disablePositiveAcks>
 728                <durability>
 729                    <kind>PERSISTENT</kind>
 730                </durability>
 731                <!-- QoS policy pending implementation -->
 732                <latencyBudget>
 733                    <duration>
 734                        <sec>1</sec>
 735                    </duration>
 736                </latencyBudget>
 737                <lifespan>
 738                    <duration>
 739                        <sec>5</sec>
 740                    </duration>
 741                </lifespan>
 742                <liveliness>
 743                    <kind>MANUAL_BY_PARTICIPANT</kind>
 744                    <lease_duration>
 745                        <sec>1</sec>
 746                        <nanosec>856000</nanosec>
 747                    </lease_duration>
 748                    <announcement_period>
 749                        <sec>1</sec>
 750                        <nanosec>856000</nanosec>
 751                    </announcement_period>
 752                </liveliness>
 753                <ownership>
 754                    <kind>EXCLUSIVE</kind>
 755                </ownership>
 756                <partition>
 757                    <names>
 758                        <name>part1</name>
 759                        <name>part2</name>
 760                    </names>
 761                </partition>
 762                <reliability>
 763                    <kind>BEST_EFFORT</kind>
 764                    <max_blocking_time>
 765                        <sec>1</sec>
 766                        <nanosec>856000</nanosec>
 767                    </max_blocking_time>
 768                </reliability>
 769            </qos>
 770
 771            <times>
 772                <initialAcknackDelay>
 773                    <sec>1</sec>
 774                    <nanosec>856000</nanosec>
 775                </initialAcknackDelay>
 776                <heartbeatResponseDelay>
 777                    <sec>1</sec>
 778                    <nanosec>856000</nanosec>
 779                </heartbeatResponseDelay>
 780            </times>
 781
 782            <unicastLocatorList>
 783                <locator>
 784                    <udpv4>
 785                        <!-- Access as physical, like UDP -->
 786                        <port>7400</port>
 787                        <address>192.168.1.41</address>
 788                    </udpv4>
 789                </locator>
 790                <locator>
 791                    <tcpv4>
 792                        <!-- Both physical and logical (port), like TCP -->
 793                        <physical_port>5100</physical_port>
 794                        <port>7400</port>
 795                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 796                        <wan_address>80.80.99.45</wan_address>
 797                        <address>192.168.1.55</address>
 798                    </tcpv4>
 799                </locator>
 800                <locator>
 801                    <udpv6>
 802                        <port>8844</port>
 803                        <address>::1</address>
 804                    </udpv6>
 805                </locator>
 806            </unicastLocatorList>
 807
 808            <multicastLocatorList>
 809                <locator>
 810                    <udpv4>
 811                        <!-- Access as physical, like UDP -->
 812                        <port>7400</port>
 813                        <address>192.168.1.41</address>
 814                    </udpv4>
 815                </locator>
 816                <locator>
 817                    <tcpv4>
 818                        <!-- Both physical and logical (port), like TCP -->
 819                        <physical_port>5100</physical_port>
 820                        <port>7400</port>
 821                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 822                        <wan_address>80.80.99.45</wan_address>
 823                        <address>192.168.1.55</address>
 824                    </tcpv4>
 825                </locator>
 826                <locator>
 827                    <udpv6>
 828                        <port>8844</port>
 829                        <address>::1</address>
 830                    </udpv6>
 831                </locator>
 832            </multicastLocatorList>
 833
 834            <external_unicast_locators>
 835                <udpv4 externality="1" cost="0" mask="24">
 836                    <address>100.100.100.10</address>
 837                    <port>12345</port>
 838                </udpv4>
 839            </external_unicast_locators>
 840
 841            <ignore_non_matching_locators>true</ignore_non_matching_locators>
 842            <expectsInlineQos>true</expectsInlineQos>
 843            <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
 844
 845            <propertiesPolicy>
 846                <properties>
 847                    <property>
 848                        <name>Property1Name</name>
 849                        <value>Property1Value</value>
 850                        <propagate>false</propagate>
 851                    </property>
 852                    <property>
 853                        <name>Property2Name</name>
 854                        <value>Property2Value</value>
 855                        <propagate>false</propagate>
 856                    </property>
 857                </properties>
 858            </propertiesPolicy>
 859
 860            <userDefinedID>55</userDefinedID>
 861            <entityID>66</entityID>
 862
 863            <matchedPublishersAllocation>
 864                <initial>1</initial>
 865                <maximum>1</maximum>
 866                <increment>0</increment>
 867            </matchedPublishersAllocation>
 868        </data_reader>
 869
 870        <topic profile_name="topic_profile_example">
 871            <historyQos>
 872                <kind>KEEP_LAST</kind>
 873                <depth>20</depth>
 874            </historyQos>
 875            <resourceLimitsQos>
 876                <max_samples>5</max_samples>
 877                <max_instances>2</max_instances>
 878                <max_samples_per_instance>1</max_samples_per_instance>
 879                <allocated_samples>20</allocated_samples>
 880                <extra_samples>10</extra_samples>
 881            </resourceLimitsQos>
 882        </topic>
 883    </profiles>
 884
 885    <library_settings>
 886        <intraprocess_delivery>USER_DATA_ONLY</intraprocess_delivery>
 887    </library_settings>
 888
 889    <log>
 890        <use_default>false</use_default>
 891
 892        <consumer>
 893            <class>StdoutConsumer</class>
 894        </consumer>
 895
 896        <consumer>
 897            <class>StdoutErrConsumer</class>
 898            <property>
 899                <name>stderr_threshold</name>
 900                <value>Log::Kind::Warning</value>
 901            </property>
 902        </consumer>
 903
 904        <consumer>
 905            <class>FileConsumer</class>
 906            <property>
 907                <name>filename</name>
 908                <value>execution.log</value>
 909            </property>
 910            <property>
 911                <name>append</name>
 912                <value>TRUE</value>
 913            </property>
 914        </consumer>
 915
 916        <thread_settings>
 917            <scheduling_policy>-1</scheduling_policy>
 918            <priority>0</priority>
 919            <affinity>0</affinity>
 920            <stack_size>-1</stack_size>
 921        </thread_settings>
 922    </log>
 923
 924    <types>
 925        <type> <!-- Types can be defined in its own type of tag or sharing the same tag -->
 926            <enum name="MyAloneEnumType">
 927                <enumerator name="A" value="0"/>
 928                <enumerator name="B" value="1"/>
 929                <enumerator name="C"/>
 930            </enum>
 931        </type>
 932        <type>
 933            <!-- All possible members struct type -->
 934            <struct name="MyFullStruct">
 935                <!-- Primitives & basic -->
 936                <member name="my_bool" type="boolean"/>
 937                <member name="my_char" type="char8"/>
 938                <member name="my_wchar" type="char16"/>
 939                <member name="my_byte" type="byte"/>
 940                <member name="my_octet" type="octet"/>
 941                <member name="my_uint8" type="uint8"/>
 942                <member name="my_short" type="int16"/>
 943                <member name="my_long" type="int32"/>
 944                <member name="my_unsignedshort" type="uint16"/>
 945                <member name="my_unsignedlong" type="uint32"/>
 946                <member name="my_longlong" type="int64"/>
 947                <member name="my_unsignedlonglong" type="uint64"/>
 948                <member name="my_float" type="float32"/>
 949                <member name="my_double" type="float64"/>
 950                <member name="my_longdouble" type="float128"/>
 951                <member name="my_string" type="string"/>
 952                <member name="my_wstring" type="wstring"/>
 953
 954                <!-- string my_boundedString[41925] -->
 955                <member name="my_boundedString" type="string" stringMaxLength="41925"/>
 956                <!-- wstring my_boundedWString[41925] -->
 957                <member name="my_boundedWString" type="wstring" stringMaxLength="41925"/>
 958
 959                <!-- short short_sequence[5]; -->
 960                <member name="short_sequence" sequenceMaxLength="5" type="int16"/>
 961
 962                <!-- long long_array[2][3][4]; -->
 963                <member name="long_array" arrayDimensions="2,3,4" type="int32"/>
 964
 965                <!-- map<long,long,2> my_map_inner -->
 966                <member name="my_map" type="int32" key_type="int32" mapMaxLength="2"/>
 967            </struct>
 968
 969            <typedef name="inner_map" type="char8" key_type="int16"/>
 970            <struct name="MyComplexStruct">
 971                <!-- Complex types -->
 972                <member name="my_other_struct" type="nonBasic" nonBasicTypeName="MyFullStruct"/>
 973                <!-- map<long,map<long,long,2>,2> my_map_map; -->
 974                <member name="my_map_map" type="nonBasic" nonBasicTypeName="inner_map" key_type="int32" mapMaxLength="2"/>
 975            </struct>
 976
 977            <enum name="MyEnum">
 978                <enumerator name="A" value="0"/>
 979                <enumerator name="B" value="1"/>
 980                <enumerator name="C"/>
 981            </enum>
 982
 983            <typedef name="MyAlias1" type="nonBasic" nonBasicTypeName="MyEnum"/>
 984            <typedef name="MyAlias2" type="int32" arrayDimensions="2,2"/>
 985
 986            <struct name="MyStruct">
 987                <member name="first" type="int32"/>
 988                <member name="second" type="int64"/>
 989            </struct>
 990
 991            <struct name="OtherInheritedStruct" baseType="MyStruct">
 992                <member name="my_enum" type="nonBasic" nonBasicTypeName="MyEnum"/>
 993                <member name="my_struct" type="nonBasic" nonBasicTypeName="MyFullStruct" arrayDimensions="5"/>
 994            </struct>
 995
 996            <union name="MyUnion1">
 997                <discriminator type="byte"/>
 998                <case>
 999                    <caseDiscriminator value="0"/>
1000                    <caseDiscriminator value="1"/>
1001                    <member name="first" type="int32"/>
1002                </case>
1003                <case>
1004                    <caseDiscriminator value="2"/>
1005                    <member name="second" type="nonBasic" nonBasicTypeName="MyStruct"/>
1006                </case>
1007                <case>
1008                    <caseDiscriminator value="default"/>
1009                    <member name="third" type="int64"/>
1010                </case>
1011            </union>
1012
1013            <bitset name="MyBitSet">
1014                <bitfield name="a" bit_bound="3"/>
1015                <bitfield name="b" bit_bound="10"/>
1016                <bitfield name="c" bit_bound="12" type="int16"/>
1017            </bitset>
1018
1019            <bitset name="OtherInheritedBitSet" baseType="MyBitSet">
1020                <bitfield bit_bound="8"/>
1021                <bitfield bit_bound="15" type="byte"/>
1022            </bitset>
1023
1024            <bitmask name="MyBitMask" bit_bound="8">
1025                <bit_value name="flag0" position="0"/>
1026                <bit_value name="flag1"/>
1027            </bitmask>
1028        </type>
1029    </types>
1030</dds>