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