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
 494                <flow_controller_descriptor_list>
 495                    <flow_controller_descriptor>
 496                        <name>example_flow_controller</name>
 497                        <scheduler>FIFO</scheduler>
 498                        <max_bytes_per_period>4096</max_bytes_per_period>
 499                        <period_ms>500</period_ms>
 500                        <sender_thread>
 501                            <scheduling_policy>-1</scheduling_policy>
 502                            <priority>0</priority>
 503                            <affinity>0</affinity>
 504                            <stack_size>-1</stack_size>
 505                        </sender_thread>
 506                    </flow_controller_descriptor>
 507                </flow_controller_descriptor_list>
 508            </rtps>
 509        </participant>
 510
 511        <data_writer profile_name="datawriter_profile_example">
 512            <topic>
 513                <historyQos>
 514                    <kind>KEEP_LAST</kind>
 515                    <depth>20</depth>
 516                </historyQos>
 517                <resourceLimitsQos>
 518                    <max_samples>5</max_samples>
 519                    <max_instances>2</max_instances>
 520                    <max_samples_per_instance>1</max_samples_per_instance>
 521                    <allocated_samples>20</allocated_samples>
 522                    <extra_samples>10</extra_samples>
 523                </resourceLimitsQos>
 524            </topic>
 525            <qos> <!-- dataWriterQosPoliciesType -->
 526                <data_sharing>
 527                    <kind>AUTOMATIC</kind>
 528                    <shared_dir>/home</shared_dir>
 529                    <max_domains>10</max_domains>
 530                    <domain_ids>
 531                        <domainId>0</domainId>
 532                        <domainId>11</domainId>
 533                    </domain_ids>
 534                </data_sharing>
 535                <deadline>
 536                    <period>
 537                        <sec>1</sec>
 538                    </period>
 539                </deadline>
 540                <disable_heartbeat_piggyback>true</disable_heartbeat_piggyback>
 541                <disablePositiveAcks>
 542                    <enabled>true</enabled>
 543                    <duration>
 544                        <sec>1</sec>
 545                    </duration>
 546                </disablePositiveAcks>
 547                <durability>
 548                    <kind>VOLATILE</kind>
 549                </durability>
 550                <!-- QoS policy pending implementation -->
 551                <latencyBudget>
 552                    <duration>
 553                        <sec>1</sec>
 554                    </duration>
 555                </latencyBudget>
 556                <lifespan>
 557                    <duration>
 558                        <sec>5</sec>
 559                    </duration>
 560                </lifespan>
 561                <liveliness>
 562                    <kind>AUTOMATIC</kind>
 563                    <lease_duration>
 564                        <sec>1</sec>
 565                        <nanosec>856000</nanosec>
 566                    </lease_duration>
 567                    <announcement_period>
 568                        <sec>1</sec>
 569                        <nanosec>856000</nanosec>
 570                    </announcement_period>
 571                </liveliness>
 572                <ownership>
 573                    <kind>EXCLUSIVE</kind>
 574                </ownership>
 575                <ownershipStrength>
 576                    <value>50</value>
 577                </ownershipStrength>
 578                <partition>
 579                    <names>
 580                        <name>part1</name>
 581                        <name>part2</name>
 582                    </names>
 583                </partition>
 584                <publishMode>
 585                    <kind>ASYNCHRONOUS</kind>
 586                    <flow_controller_name>example_flow_controller</flow_controller_name>
 587                </publishMode>
 588                <reliability>
 589                    <kind>BEST_EFFORT</kind>
 590                    <max_blocking_time>
 591                        <sec>1</sec>
 592                        <nanosec>856000</nanosec>
 593                    </max_blocking_time>
 594                </reliability>
 595            </qos>
 596
 597            <times>
 598                <initialHeartbeatDelay>
 599                    <sec>1</sec>
 600                    <nanosec>856000</nanosec>
 601                </initialHeartbeatDelay>
 602                <heartbeatPeriod>
 603                    <sec>1</sec>
 604                    <nanosec>856000</nanosec>
 605                </heartbeatPeriod>
 606                <nackResponseDelay>
 607                    <sec>1</sec>
 608                    <nanosec>856000</nanosec>
 609                </nackResponseDelay>
 610                <nackSupressionDuration>
 611                    <sec>1</sec>
 612                    <nanosec>856000</nanosec>
 613                </nackSupressionDuration>
 614            </times>
 615
 616            <unicastLocatorList>
 617                <locator>
 618                    <udpv4>
 619                        <!-- Access as physical, like UDP -->
 620                        <port>7400</port>
 621                        <address>192.168.1.41</address>
 622                    </udpv4>
 623                </locator>
 624                <locator>
 625                    <tcpv4>
 626                        <!-- Both physical and logical (port), like TCP -->
 627                        <physical_port>5100</physical_port>
 628                        <port>7400</port>
 629                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 630                        <wan_address>80.80.99.45</wan_address>
 631                        <address>192.168.1.55</address>
 632                    </tcpv4>
 633                </locator>
 634                <locator>
 635                    <udpv6>
 636                        <port>8844</port>
 637                        <address>::1</address>
 638                    </udpv6>
 639                </locator>
 640            </unicastLocatorList>
 641
 642            <multicastLocatorList>
 643                <locator>
 644                    <udpv4>
 645                        <!-- Access as physical, like UDP -->
 646                        <port>7400</port>
 647                        <address>192.168.1.41</address>
 648                    </udpv4>
 649                </locator>
 650                <locator>
 651                    <tcpv4>
 652                        <!-- Both physical and logical (port), like TCP -->
 653                        <physical_port>5100</physical_port>
 654                        <port>7400</port>
 655                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 656                        <wan_address>80.80.99.45</wan_address>
 657                        <address>192.168.1.55</address>
 658                    </tcpv4>
 659                </locator>
 660                <locator>
 661                    <udpv6>
 662                        <port>8844</port>
 663                        <address>::1</address>
 664                    </udpv6>
 665                </locator>
 666            </multicastLocatorList>
 667
 668            <external_unicast_locators>
 669                <udpv4 externality="1" cost="0" mask="24">
 670                    <address>100.100.100.10</address>
 671                    <port>12345</port>
 672                </udpv4>
 673            </external_unicast_locators>
 674
 675            <ignore_non_matching_locators>true</ignore_non_matching_locators>
 676            <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
 677
 678            <propertiesPolicy>
 679                <properties>
 680                    <property>
 681                        <name>Property1Name</name>
 682                        <value>Property1Value</value>
 683                        <propagate>false</propagate>
 684                    </property>
 685                    <property>
 686                        <name>Property2Name</name>
 687                        <value>Property2Value</value>
 688                        <propagate>false</propagate>
 689                    </property>
 690                </properties>
 691            </propertiesPolicy>
 692
 693            <userDefinedID>45</userDefinedID>
 694            <entityID>76</entityID>
 695
 696            <matchedSubscribersAllocation>
 697                <initial>3</initial>
 698                <maximum>3</maximum>
 699                <increment>0</increment>
 700            </matchedSubscribersAllocation>
 701        </data_writer>
 702
 703        <data_reader profile_name="datareader_profile_example">
 704            <topic>
 705                <historyQos>
 706                    <kind>KEEP_LAST</kind>
 707                    <depth>20</depth>
 708                </historyQos>
 709                <resourceLimitsQos>
 710                    <max_samples>5</max_samples>
 711                    <max_instances>2</max_instances>
 712                    <max_samples_per_instance>1</max_samples_per_instance>
 713                    <allocated_samples>20</allocated_samples>
 714                    <extra_samples>10</extra_samples>
 715                </resourceLimitsQos>
 716            </topic>
 717            <qos> <!-- dataReaderQosPoliciesType -->
 718                <data_sharing>
 719                    <kind>AUTOMATIC</kind>
 720                    <shared_dir>/home</shared_dir>
 721                    <max_domains>10</max_domains>
 722                    <domain_ids>
 723                        <domainId>0</domainId>
 724                        <domainId>11</domainId>
 725                    </domain_ids>
 726                    <data_sharing_listener_thread>
 727                        <scheduling_policy>-1</scheduling_policy>
 728                        <priority>0</priority>
 729                        <affinity>0</affinity>
 730                        <stack_size>-1</stack_size>
 731                    </data_sharing_listener_thread>
 732                </data_sharing>
 733                <deadline>
 734                    <period>
 735                        <sec>1</sec>
 736                    </period>
 737                </deadline>
 738                <disablePositiveAcks>
 739                    <enabled>true</enabled>
 740                    <duration>
 741                        <sec>1</sec>
 742                    </duration>
 743                </disablePositiveAcks>
 744                <durability>
 745                    <kind>PERSISTENT</kind>
 746                </durability>
 747                <!-- QoS policy pending implementation -->
 748                <latencyBudget>
 749                    <duration>
 750                        <sec>1</sec>
 751                    </duration>
 752                </latencyBudget>
 753                <lifespan>
 754                    <duration>
 755                        <sec>5</sec>
 756                    </duration>
 757                </lifespan>
 758                <liveliness>
 759                    <kind>MANUAL_BY_PARTICIPANT</kind>
 760                    <lease_duration>
 761                        <sec>1</sec>
 762                        <nanosec>856000</nanosec>
 763                    </lease_duration>
 764                    <announcement_period>
 765                        <sec>1</sec>
 766                        <nanosec>856000</nanosec>
 767                    </announcement_period>
 768                </liveliness>
 769                <ownership>
 770                    <kind>EXCLUSIVE</kind>
 771                </ownership>
 772                <partition>
 773                    <names>
 774                        <name>part1</name>
 775                        <name>part2</name>
 776                    </names>
 777                </partition>
 778                <reliability>
 779                    <kind>BEST_EFFORT</kind>
 780                    <max_blocking_time>
 781                        <sec>1</sec>
 782                        <nanosec>856000</nanosec>
 783                    </max_blocking_time>
 784                </reliability>
 785            </qos>
 786
 787            <times>
 788                <initialAcknackDelay>
 789                    <sec>1</sec>
 790                    <nanosec>856000</nanosec>
 791                </initialAcknackDelay>
 792                <heartbeatResponseDelay>
 793                    <sec>1</sec>
 794                    <nanosec>856000</nanosec>
 795                </heartbeatResponseDelay>
 796            </times>
 797
 798            <unicastLocatorList>
 799                <locator>
 800                    <udpv4>
 801                        <!-- Access as physical, like UDP -->
 802                        <port>7400</port>
 803                        <address>192.168.1.41</address>
 804                    </udpv4>
 805                </locator>
 806                <locator>
 807                    <tcpv4>
 808                        <!-- Both physical and logical (port), like TCP -->
 809                        <physical_port>5100</physical_port>
 810                        <port>7400</port>
 811                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 812                        <wan_address>80.80.99.45</wan_address>
 813                        <address>192.168.1.55</address>
 814                    </tcpv4>
 815                </locator>
 816                <locator>
 817                    <udpv6>
 818                        <port>8844</port>
 819                        <address>::1</address>
 820                    </udpv6>
 821                </locator>
 822            </unicastLocatorList>
 823
 824            <multicastLocatorList>
 825                <locator>
 826                    <udpv4>
 827                        <!-- Access as physical, like UDP -->
 828                        <port>7400</port>
 829                        <address>192.168.1.41</address>
 830                    </udpv4>
 831                </locator>
 832                <locator>
 833                    <tcpv4>
 834                        <!-- Both physical and logical (port), like TCP -->
 835                        <physical_port>5100</physical_port>
 836                        <port>7400</port>
 837                        <unique_lan_id>192.168.1.1.1.1.2.55</unique_lan_id>
 838                        <wan_address>80.80.99.45</wan_address>
 839                        <address>192.168.1.55</address>
 840                    </tcpv4>
 841                </locator>
 842                <locator>
 843                    <udpv6>
 844                        <port>8844</port>
 845                        <address>::1</address>
 846                    </udpv6>
 847                </locator>
 848            </multicastLocatorList>
 849
 850            <external_unicast_locators>
 851                <udpv4 externality="1" cost="0" mask="24">
 852                    <address>100.100.100.10</address>
 853                    <port>12345</port>
 854                </udpv4>
 855            </external_unicast_locators>
 856
 857            <ignore_non_matching_locators>true</ignore_non_matching_locators>
 858            <expectsInlineQos>true</expectsInlineQos>
 859            <historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
 860
 861            <propertiesPolicy>
 862                <properties>
 863                    <property>
 864                        <name>Property1Name</name>
 865                        <value>Property1Value</value>
 866                        <propagate>false</propagate>
 867                    </property>
 868                    <property>
 869                        <name>Property2Name</name>
 870                        <value>Property2Value</value>
 871                        <propagate>false</propagate>
 872                    </property>
 873                </properties>
 874            </propertiesPolicy>
 875
 876            <userDefinedID>55</userDefinedID>
 877            <entityID>66</entityID>
 878
 879            <matchedPublishersAllocation>
 880                <initial>1</initial>
 881                <maximum>1</maximum>
 882                <increment>0</increment>
 883            </matchedPublishersAllocation>
 884        </data_reader>
 885
 886        <topic profile_name="topic_profile_example">
 887            <historyQos>
 888                <kind>KEEP_LAST</kind>
 889                <depth>20</depth>
 890            </historyQos>
 891            <resourceLimitsQos>
 892                <max_samples>5</max_samples>
 893                <max_instances>2</max_instances>
 894                <max_samples_per_instance>1</max_samples_per_instance>
 895                <allocated_samples>20</allocated_samples>
 896                <extra_samples>10</extra_samples>
 897            </resourceLimitsQos>
 898        </topic>
 899    </profiles>
 900
 901    <library_settings>
 902        <intraprocess_delivery>USER_DATA_ONLY</intraprocess_delivery>
 903    </library_settings>
 904
 905    <log>
 906        <use_default>false</use_default>
 907
 908        <consumer>
 909            <class>StdoutConsumer</class>
 910        </consumer>
 911
 912        <consumer>
 913            <class>StdoutErrConsumer</class>
 914            <property>
 915                <name>stderr_threshold</name>
 916                <value>Log::Kind::Warning</value>
 917            </property>
 918        </consumer>
 919
 920        <consumer>
 921            <class>FileConsumer</class>
 922            <property>
 923                <name>filename</name>
 924                <value>execution.log</value>
 925            </property>
 926            <property>
 927                <name>append</name>
 928                <value>TRUE</value>
 929            </property>
 930        </consumer>
 931
 932        <thread_settings>
 933            <scheduling_policy>-1</scheduling_policy>
 934            <priority>0</priority>
 935            <affinity>0</affinity>
 936            <stack_size>-1</stack_size>
 937        </thread_settings>
 938    </log>
 939
 940    <types>
 941        <type> <!-- Types can be defined in its own type of tag or sharing the same tag -->
 942            <enum name="MyAloneEnumType">
 943                <enumerator name="A" value="0"/>
 944                <enumerator name="B" value="1"/>
 945                <enumerator name="C"/>
 946            </enum>
 947        </type>
 948        <type>
 949            <!-- All possible members struct type -->
 950            <struct name="MyFullStruct">
 951                <!-- Primitives & basic -->
 952                <member name="my_bool" type="boolean"/>
 953                <member name="my_char" type="char8"/>
 954                <member name="my_wchar" type="char16"/>
 955                <member name="my_byte" type="byte"/>
 956                <member name="my_octet" type="octet"/>
 957                <member name="my_uint8" type="uint8"/>
 958                <member name="my_short" type="int16"/>
 959                <member name="my_long" type="int32"/>
 960                <member name="my_unsignedshort" type="uint16"/>
 961                <member name="my_unsignedlong" type="uint32"/>
 962                <member name="my_longlong" type="int64"/>
 963                <member name="my_unsignedlonglong" type="uint64"/>
 964                <member name="my_float" type="float32"/>
 965                <member name="my_double" type="float64"/>
 966                <member name="my_longdouble" type="float128"/>
 967                <member name="my_string" type="string"/>
 968                <member name="my_wstring" type="wstring"/>
 969
 970                <!-- string my_boundedString[41925] -->
 971                <member name="my_boundedString" type="string" stringMaxLength="41925"/>
 972                <!-- wstring my_boundedWString[41925] -->
 973                <member name="my_boundedWString" type="wstring" stringMaxLength="41925"/>
 974
 975                <!-- short short_sequence[5]; -->
 976                <member name="short_sequence" sequenceMaxLength="5" type="int16"/>
 977
 978                <!-- long long_array[2][3][4]; -->
 979                <member name="long_array" arrayDimensions="2,3,4" type="int32"/>
 980
 981                <!-- map<long,long,2> my_map_inner -->
 982                <member name="my_map" type="int32" key_type="int32" mapMaxLength="2"/>
 983            </struct>
 984
 985            <typedef name="inner_map" type="char8" key_type="int16"/>
 986            <struct name="MyComplexStruct">
 987                <!-- Complex types -->
 988                <member name="my_other_struct" type="nonBasic" nonBasicTypeName="MyFullStruct"/>
 989                <!-- map<long,map<long,long,2>,2> my_map_map; -->
 990                <member name="my_map_map" type="nonBasic" nonBasicTypeName="inner_map" key_type="int32" mapMaxLength="2"/>
 991            </struct>
 992
 993            <enum name="MyEnum">
 994                <enumerator name="A" value="0"/>
 995                <enumerator name="B" value="1"/>
 996                <enumerator name="C"/>
 997            </enum>
 998
 999            <typedef name="MyAlias1" type="nonBasic" nonBasicTypeName="MyEnum"/>
1000            <typedef name="MyAlias2" type="int32" arrayDimensions="2,2"/>
1001
1002            <struct name="MyStruct">
1003                <member name="first" type="int32"/>
1004                <member name="second" type="int64"/>
1005            </struct>
1006
1007            <struct name="OtherInheritedStruct" baseType="MyStruct">
1008                <member name="my_enum" type="nonBasic" nonBasicTypeName="MyEnum"/>
1009                <member name="my_struct" type="nonBasic" nonBasicTypeName="MyFullStruct" arrayDimensions="5"/>
1010            </struct>
1011
1012            <union name="MyUnion1">
1013                <discriminator type="byte"/>
1014                <case>
1015                    <caseDiscriminator value="0"/>
1016                    <caseDiscriminator value="1"/>
1017                    <member name="first" type="int32"/>
1018                </case>
1019                <case>
1020                    <caseDiscriminator value="2"/>
1021                    <member name="second" type="nonBasic" nonBasicTypeName="MyStruct"/>
1022                </case>
1023                <case>
1024                    <caseDiscriminator value="default"/>
1025                    <member name="third" type="int64"/>
1026                </case>
1027            </union>
1028
1029            <bitset name="MyBitSet">
1030                <bitfield name="a" bit_bound="3"/>
1031                <bitfield name="b" bit_bound="10"/>
1032                <bitfield name="c" bit_bound="12" type="int16"/>
1033            </bitset>
1034
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>