<?xml version="1.0" encoding="UTF-8"?>
<!-- 
This file contains the Quality Of Service(QOS) Profiles used by the
Data Distribution Service(DDS) for publishing/subscribing track data.

A detailed description of QOS can be found in the RTI User's Manual,
Version 4.3e, August 2008.

A short description of the QOS policies used by JTCW follows

durability  - Configures the internal service used to save and send old data to
              new DataReaders.

history     - Specifies if and how many samples of an instance is stored by the
              DataWriter or DataReader.

reliability - Specifies whether or not the Data Distribution Service should send
              data reliably.

min_heartbeat_response_delay - Minimum delay between when the DataReader receives
              a heartbeat and when it sends an ACK/NACK.

max_heartbeat_response_delay - Maximum delay between when the DataReader receives
              a heartbeat and when it sends an ACK/NACK. Increasing this value
              helps prevent NACK storms, but increases latency.

heartbeat_suppression_duration - How long additionally received heartbeats are
                                 suppressed.

low_watermark,
high_watermark - Queue levels that control when to switch between the regular
                 and fast heartbeat rates.

heartbeat_period,
fast_heartbeat_period,
late_joiner_heartbeat_period - Rates at which to sent heartbeats to DataReaders
                 with unacknowledged samples. 

max_heartbeat_retries - Maximum number of heartbeats sent without receiving an
                 ACK/NACK packet before marking a DataReader inactive.

heartbeats_per_max_samples - Number of heartbeats per send queue.

heartbeat_suppression_duration - How long additionally received heartbeats
                                 are suppressed.
 
-->
<dds>
  <!-- QOS library and profiles for JTCW -->
  <qos_library name="JTCWDDS_QOS">
    
    <qos_profile name="DefaultParticipant">
      <participant_qos>
        <receiver_pool>
          <buffer_size>65535</buffer_size> 
        </receiver_pool>
        <transport_builtin>
          <mask>MASK_DEFAULT</mask> 
        </transport_builtin>
        <property>
          <value>
            <element>
              <name>dds.transport.UDPv4.builtin.parent.message_size_max</name> 
              <value>65535</value> 
            </element>
            <element>
              <name>dds.transport.UDPv4.builtin.send_socket_buffer_size</name> 
              <value>65535</value> 
            </element>
            <element>
              <name>dds.transport.UDPv4.builtin.recv_socket_buffer_size</name> 
              <value>65535</value> 
            </element>
          </value>
        </property>
      </participant_qos>
    </qos_profile>
  
    <qos_profile name="Default">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
	<durability>
		<kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
	</durability>
        <reliability>
		<kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	</reliability>
	<history>
		<kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
	</history>
      </reader_qos>
      <writer_qos>
	<durability>
		<kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
	</durability>
	<reliability>
		<kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	</reliability>
	<history>
		<kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
	</history>
      </writer_qos>
    </qos_profile>

    <qos_profile name="OverlayAndRouteCommands">
 
      <reader_qos>        
        
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
        </durability>

        <!--  
            The KEEP_LAST (up to permited depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>10</depth>
	</history>
              
        <resource_limits>
        <!-- 
            The max_instances below effectively limits MAX number of 
            simultaneous clients. Currently we have only one client
            WS Provider. But because we support public API we have to
            account for additional clients in the resources
         -->
          <max_instances>1</max_instances> 
          <initial_instances>1</initial_instances> 
          <initial_samples>1</initial_samples> 
        </resource_limits>

        <reader_resource_limits>
          <max_fragments_per_sample>LENGTH_UNLIMITED</max_fragments_per_sample> 
        </reader_resource_limits>

        <!--  RTI Arch Study Recommendation for Protocol of Reader -->
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>

      </reader_qos>

      <writer_qos>

        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>

         <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
        </durability>

        <!--  
            The KEEP_LAST (up to permited depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>10</depth>
	</history>

        <resource_limits>
        <!-- 
            The max_instances below effectively limits MAX number of 
            simultaneous clients. Currently we have only one client
            WS Provider. But because we support public API we have to
            account for additional clients in the resources
         -->
          <max_instances>1</max_instances> 
          <initial_instances>1</initial_instances> 
          <initial_samples>1</initial_samples> 
        </resource_limits>

        <publish_mode>
          <kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind> 
          <flow_controller_name>DDS_DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name> 
        </publish_mode>

        <!--  RTI Arch Study Recommendation for Protocol of Writer -->
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark> 
            <high_watermark>80</high_watermark> 
            <heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </fast_heartbeat_period>
            <max_heartbeat_retries>20</max_heartbeat_retries> 
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples> 
            <min_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>

      </writer_qos>

    </qos_profile>

    <qos_profile name="OverlayAndRouteEvents">
 
      <reader_qos>        
        
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>

        <!--  
            The KEEP_LAST (up to permited depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>10</depth>
	</history>
      
        <resource_limits>
        <!-- 
            The max_instances below effectively limits MAX number of 
            simultaneous clients. Currently we have only one client
            WS Provider. But because we support public API we have to
            account for additional clients in the resources
         -->
          <max_instances>1</max_instances> 
          <initial_instances>1</initial_instances> 
          <initial_samples>1</initial_samples> 
        </resource_limits>
        
        <reader_resource_limits>
          <max_fragments_per_sample>LENGTH_UNLIMITED</max_fragments_per_sample> 
        </reader_resource_limits>

        <!--  RTI Arch Study Recommendation for Protocol of Reader -->
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>

      </reader_qos>

      <writer_qos>

        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>

        <!--  
            The KEEP_LAST (up to permited depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>10</depth>
	</history>

        <resource_limits>
        <!-- 
            The max_instances below effectively limits MAX number of 
            simultaneous clients. Currently we have only one client
            WS Provider. But because we support public API we have to
            account for additional clients in the resources
         -->
          <max_instances>1</max_instances> 
          <initial_instances>1</initial_instances> 
          <initial_samples>1</initial_samples> 
        </resource_limits>

        <publish_mode>
          <kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind> 
          <flow_controller_name>DDS_DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name> 
        </publish_mode>

        <!--  RTI Arch Study Recommendation for Protocol of Writer -->
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark> 
            <high_watermark>80</high_watermark> 
            <heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </fast_heartbeat_period>
            <max_heartbeat_retries>20</max_heartbeat_retries> 
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples> 
            <min_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>

      </writer_qos>

    </qos_profile>

    <qos_profile name="AggregateFilters">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
        </durability>
        <reliability>
		<kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	</reliability>
	<history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>100</depth>
	</history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
        </durability>
	<reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	</reliability>
	<history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>100</depth>
	</history>
      </writer_qos>
    </qos_profile>

    <qos_profile name="LargeAggregateFilters">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
        </durability>
        <reliability>
		<kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	</reliability>
	<history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>100</depth>
	</history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
        </durability>
	<reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	</reliability>
	<history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>100</depth>
	</history>
         
        <publish_mode>
          <kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind> 
          <flow_controller_name>DDS_DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name> 
        </publish_mode>

     </writer_qos>
    </qos_profile>

    <qos_profile name="TrackCommands">
 
      <reader_qos>        
        
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
        </durability>

        <!--  
            The KEEP_LAST (up to permitted depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>10000</depth>
	</history>
        
        <!--  RTI Arch Study Recommendation for Protocol of Reader -->
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>

      </reader_qos>

      <writer_qos>

        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>

         <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
        </durability>

        <!--  
            The KEEP_LAST (up to permitted depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>10000</depth>
	</history>

        <publish_mode>
          <kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind> 
          <flow_controller_name>DDS_DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name> 
        </publish_mode>

        <!--  RTI Arch Study Recommendation for Protocol of Writer -->
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark> 
            <high_watermark>80</high_watermark> 
            <heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </fast_heartbeat_period>
            <max_heartbeat_retries>20</max_heartbeat_retries> 
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples> 
            <min_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>

      </writer_qos>

    </qos_profile>

    <qos_profile name="TrackEvents">
 
      <reader_qos>        
        
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>

        <!--  
            The KEEP_LAST (up to permitted depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>10000</depth>
	</history>
      
        <!--  RTI Arch Study Recommendation for Protocol of Reader -->
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>

      </reader_qos>

      <writer_qos>

        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>

        <!--  
            The KEEP_LAST (up to permitted depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>10000</depth>
	</history>

        <publish_mode>
          <kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind> 
          <flow_controller_name>DDS_DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name> 
        </publish_mode>

        <!--  RTI Arch Study Recommendation for Protocol of Writer -->
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark> 
            <high_watermark>80</high_watermark> 
            <heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </fast_heartbeat_period>
            <max_heartbeat_retries>20</max_heartbeat_retries> 
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples> 
            <min_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>

      </writer_qos>

    </qos_profile>

    <qos_profile name="AddressBookCommands">
 
      <reader_qos>        
        
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
        </durability>

        <!--  
            The KEEP_LAST (up to permitted depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>50000</depth>
	</history>
      
        <!--  RTI Arch Study Recommendation for Protocol of Reader -->
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>

      </reader_qos>

      <writer_qos>

        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>

         <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
        </durability>

        <!--  
            The KEEP_LAST (up to permitted depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>50000</depth>
	</history>

        <publish_mode>
          <kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind> 
          <flow_controller_name>DDS_DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name> 
        </publish_mode>

        <!--  RTI Arch Study Recommendation for Protocol of Writer -->
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark> 
            <high_watermark>80</high_watermark> 
            <heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </fast_heartbeat_period>
            <max_heartbeat_retries>200</max_heartbeat_retries> 
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples> 
            <min_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>

      </writer_qos>

    </qos_profile>

    <qos_profile name="AddressBookEvents">
 
      <reader_qos>        
        
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>

        <!--  
            The KEEP_LAST (up to permitted depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>50000</depth>
	</history>
      
        <!--  RTI Arch Study Recommendation for Protocol of Reader -->
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>

      </reader_qos>

      <writer_qos>

        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>

        <!--  
            The KEEP_LAST (up to permitted depth) QOS below is needed
            to support "busy" Gateway, so it will finally process all
        -->
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>50000</depth>
	</history>

        <publish_mode>
          <kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind> 
          <flow_controller_name>DDS_DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name> 
        </publish_mode>

        <!--  RTI Arch Study Recommendation for Protocol of Writer -->
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark> 
            <high_watermark>80</high_watermark> 
            <heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </fast_heartbeat_period>
            <max_heartbeat_retries>200</max_heartbeat_retries> 
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples> 
            <min_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>

      </writer_qos>

    </qos_profile>

    <qos_profile name="EnumerationDepth2">
 
     <reader_qos>
        
        <reliability>
		<kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	</reliability>
	<durability>
		<kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
	</durability>
	
        <!--  
            The KEEP_LAST QOS below is applied on per instance (per key)
            and because command/response is synchronous message exchange
            we need only the last result (per Client which is the key)
        -->
        <history>
		<kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
                <depth>2</depth>
	</history>
        
        <resource_limits>
        <!-- 
            The max_instances below effectively limits MAX number of 
            simultaneous clients. Currently we have only one client
            WS Provider. But because we support public API we have to
            account for additional clients in the resources
         -->
          <max_instances>5</max_instances> 
          <max_samples_per_instance>2</max_samples_per_instance> 
          <initial_instances>1</initial_instances> 
          <initial_samples>2</initial_samples> 
        </resource_limits>
      
        <reader_resource_limits>
          <max_fragments_per_sample>LENGTH_UNLIMITED</max_fragments_per_sample> 
        </reader_resource_limits>

        <!--  RTI Arch Study Recommendation for Protocol of Reader -->
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>

      </reader_qos>

      <writer_qos>

	<reliability>
		<kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	</reliability>
	<durability>
		<kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
	</durability>

        <!--  
            The KEEP_LAST QOS below is applied on per instance (per key)
            and because command/response is synchronous message exchange
            we need only the last result (per Client which is the key)
        -->
	<history>
		<kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
                <depth>2</depth>
	</history>

        <resource_limits>
        <!-- 
            The max_instances below effectively limits MAX number of 
            simultaneous clients. Currently we have only one client
            WS Provider. But because we support public API we have to
            account for additional clients in the resources
         -->
          <max_instances>5</max_instances> 
          <max_samples_per_instance>2</max_samples_per_instance> 
          <initial_instances>1</initial_instances> 
          <initial_samples>2</initial_samples> 
        </resource_limits>

        <publish_mode>
          <kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind> 
          <flow_controller_name>DDS_DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name> 
        </publish_mode>

        <!--  RTI Arch Study Recommendation for Protocol of Writer -->
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark> 
            <high_watermark>80</high_watermark> 
            <heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </fast_heartbeat_period>
            <max_heartbeat_retries>20</max_heartbeat_retries> 
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples> 
            <min_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>

        <writer_data_lifecycle>
          <autodispose_unregistered_instances>true</autodispose_unregistered_instances> 
        </writer_data_lifecycle>
      </writer_qos>
    </qos_profile>

    <qos_profile name="EnumerationDepth1">
 
     <reader_qos>
        
        <reliability>
		<kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	</reliability>
	<durability>
		<kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
	</durability>
	
        <!--  
            The KEEP_LAST QOS below is applied on per instance (per key)
            and because command/response is synchronous message exchange
            we need only the last result (per Client which is the key)
        -->
        <history>
		<kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
                <depth>1</depth>
	</history>
        
        <resource_limits>
        <!-- 
            The max_instances below effectively limits MAX number of 
            simultaneous clients. Currently we have only one client
            WS Provider. But because we support public API we have to
            account for additional clients in the resources
         -->
          <max_instances>5</max_instances> 
          <max_samples_per_instance>1</max_samples_per_instance> 
          <initial_instances>1</initial_instances> 
          <initial_samples>1</initial_samples> 
        </resource_limits>
      
         <reader_resource_limits>
          <max_fragments_per_sample>LENGTH_UNLIMITED</max_fragments_per_sample> 
        </reader_resource_limits>

       <!--  RTI Arch Study Recommendation for Protocol of Reader -->
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>

      </reader_qos>

      <writer_qos>

	<reliability>
		<kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	</reliability>
	<durability>
		<kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind> 
	</durability>

        <!--  
            The KEEP_LAST QOS below is applied on per instance (per key)
            and because command/response is synchronous message exchange
            we need only the last result (per Client which is the key)
        -->
	<history>
		<kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
                <depth>1</depth>
	</history>

        <resource_limits>
        <!-- 
            The max_instances below effectively limits MAX number of 
            simultaneous clients. Currently we have only one client
            WS Provider. But because we support public API we have to
            account for additional clients in the resources
         -->
          <max_instances>5</max_instances> 
          <max_samples_per_instance>1</max_samples_per_instance> 
          <initial_instances>1</initial_instances> 
          <initial_samples>1</initial_samples> 
        </resource_limits>

        <publish_mode>
          <kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind> 
          <flow_controller_name>DDS_DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name> 
        </publish_mode>

        <!--  RTI Arch Study Recommendation for Protocol of Writer -->
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark> 
            <high_watermark>80</high_watermark> 
            <heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>100000000</nanosec> 
            </fast_heartbeat_period>
            <max_heartbeat_retries>20</max_heartbeat_retries> 
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples> 
            <min_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>DURATION_ZERO_SEC</sec> 
              <nanosec>DURATION_ZERO_NSEC</nanosec> 
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>


        <writer_data_lifecycle>
          <autodispose_unregistered_instances>true</autodispose_unregistered_instances> 
        </writer_data_lifecycle>

      </writer_qos>
    </qos_profile>

    <qos_profile name="Alerts">
             <participant_qos>
                <resource_limits>
                    <topic_data_max_length>2048</topic_data_max_length>
                    <type_code_max_serialized_length>2048</type_code_max_serialized_length>
                </resource_limits>
            </participant_qos>
 	    <reader_qos>
                <durability>
                    <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
                </durability>
                <reliability>
                    <kind>RELIABLE_RELIABILITY_QOS</kind>
                </reliability>
                <destination_order>
                    <kind>BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS</kind>
                </destination_order>
                <history>
                    <kind>KEEP_ALL_HISTORY_QOS</kind>
                    <depth>10</depth>
                </history>
                <ownership>
                    <kind>SHARED_OWNERSHIP_QOS</kind>
                </ownership>
            </reader_qos>
 	    <writer_qos>
                <durability>
                    <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
                </durability>
                <reliability>
                    <kind>RELIABLE_RELIABILITY_QOS</kind>
                </reliability>
                <destination_order>
                    <kind>BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS</kind>
                </destination_order>
                <history>
                    <kind>KEEP_ALL_HISTORY_QOS</kind>
                    <depth>10</depth>
                </history>
                <ownership>
                    <kind>SHARED_OWNERSHIP_QOS</kind>
                </ownership>
            </writer_qos>
    </qos_profile>

  </qos_library>
  <!-- QOS library and profiles for Gateway Client processing -->
  <qos_library name="JTCWDDS_GWCLIENT">
    <qos_profile name="Default">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for the CommandTopic. With the Command topic one node
    publishs a command and does not expect any response. For example, delete track.
    -->
    <qos_profile name="CommandTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
	  <initial_samples>1500</initial_samples>
          <max_samples>1500</max_samples>
	  <initial_instances>1</initial_instances>
	  <max_instances>1</max_instances>
	  <max_samples_per_instance>1500</max_samples_per_instance> 
        </resource_limits>
        <reader_resource_limits>
            <max_samples_per_remote_writer>1500</max_samples_per_remote_writer>
        </reader_resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the ResponseTopic. The Response topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="ResponseTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the RequestTopic. The Request topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="RequestTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the TrackTopic. The track topic profile is used for
    the general publish/subscribe pattern. One node publishes the various track
    type topics when tracks are add or updated. Other interested nodes subscribe
    to the topics and receive the track data.
    -->
    <qos_profile name="TrackTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <reader_data_lifecycle>
          <autopurge_nowriter_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_nowriter_samples_delay>
          <autopurge_disposed_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_disposed_samples_delay>
        </reader_data_lifecycle>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <writer_data_lifecycle>
          <autodispose_unregistered_instances>DDS_BOOLEAN_TRUE</autodispose_unregistered_instances>
        </writer_data_lifecycle>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>5</max_heartbeat_retries>
            <heartbeats_per_max_samples>8</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
  </qos_library>
  <!-- QOS library and profiles for TBM processing -->
  <qos_library name="JTCWDDS_TBM">
    <qos_profile name="Default">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for the CommandTopic. With the Command topic one node
    publishs a command and does not expect any response. For example, delete track.
    -->
    <qos_profile name="CommandTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the ResponseTopic. The Response topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="ResponseTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the RequestTopic. The Request topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="RequestTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the TrackTopic. The track topic profile is used for
    the general publish/subscribe pattern. One node publishes the various track
    type topics when tracks are add or updated. Other interested nodes subscribe
    to the topics and receive the track data.
    -->
    <qos_profile name="TrackTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <reader_data_lifecycle>
          <autopurge_nowriter_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_nowriter_samples_delay>
          <autopurge_disposed_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_disposed_samples_delay>
        </reader_data_lifecycle>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <writer_data_lifecycle>
          <autodispose_unregistered_instances>DDS_BOOLEAN_TRUE</autodispose_unregistered_instances>
        </writer_data_lifecycle>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>5</max_heartbeat_retries>
            <heartbeats_per_max_samples>8</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
  </qos_library>
  <!-- QOS library and profiles for Track Merge processing -->
  <qos_library name="JTCWDDS_TRACKMERGE">
    <qos_profile name="Default">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for the CommandTopic. With the Command topic one node
    publishs a command and does not expect any response. For example, delete track.
    -->
    <qos_profile name="CommandTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the ResponseTopic. The Response topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="ResponseTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the RequestTopic. The Request topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="RequestTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the TrackTopic. The track topic profile is used for
    the general publish/subscribe pattern. One node publishes the various track
    type topics when tracks are add or updated. Other interested nodes subscribe
    to the topics and receive the track data.
    -->
    <qos_profile name="TrackTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <writer_data_lifecycle>
          <autodispose_unregistered_instances>DDS_BOOLEAN_TRUE</autodispose_unregistered_instances>
        </writer_data_lifecycle>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>5</max_heartbeat_retries>
            <heartbeats_per_max_samples>8</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
  </qos_library>
  <!-- QOS library and profiles for TrackPlot processing -->
  <qos_library name="JTCWDDS_TRACKPLOT">
    <qos_profile name="Default">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for the CommandTopic. With the Command topic one node
    publishs a command and does not expect any response. For example, delete track.
    -->
    <qos_profile name="CommandTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	  <max_blocking_time><sec>0</sec> <nanosec> 0 </nanosec></max_blocking_time>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
	  <initial_samples>1500</initial_samples>
          <max_samples>1500</max_samples>
	  <initial_instances>1</initial_instances>
	  <max_instances>1</max_instances>
	  <max_samples_per_instance>1500</max_samples_per_instance> 
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>200</max_heartbeat_retries>
            <heartbeats_per_max_samples>150</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the ResponseTopic. The Response topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="ResponseTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the RequestTopic. The Request topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="RequestTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the TrackTopic. The track topic profile is used for
    the general publish/subscribe pattern. One node publishes the various track
    type topics when tracks are add or updated. Other interested nodes subscribe
    to the topics and receive the track data.
    -->
    <qos_profile name="TrackTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <reader_data_lifecycle>
          <autopurge_nowriter_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_nowriter_samples_delay>
          <autopurge_disposed_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_disposed_samples_delay>
        </reader_data_lifecycle>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <writer_data_lifecycle>
          <autodispose_unregistered_instances>DDS_BOOLEAN_TRUE</autodispose_unregistered_instances>
        </writer_data_lifecycle>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>5</max_heartbeat_retries>
            <heartbeats_per_max_samples>8</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
  </qos_library>
  <!-- QOS library and profiles for Track Status processing -->
  <qos_library name="JTCWDDS_TRACKSTATUS">
    <qos_profile name="Default">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for the CommandTopic. With the Command topic one node
    publishs a command and does not expect any response. For example, delete track.
    -->
    <qos_profile name="CommandTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the ResponseTopic. The Response topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="ResponseTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the RequestTopic. The Request topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="RequestTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the TrackTopic. The track topic profile is used for
    the general publish/subscribe pattern. One node publishes the various track
    type topics when tracks are add or updated. Other interested nodes subscribe
    to the topics and receive the track data.
    -->
    <qos_profile name="TrackTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <reader_data_lifecycle>
          <autopurge_nowriter_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_nowriter_samples_delay>
          <autopurge_disposed_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_disposed_samples_delay>
        </reader_data_lifecycle>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <writer_data_lifecycle>
          <autodispose_unregistered_instances>DDS_BOOLEAN_TRUE</autodispose_unregistered_instances>
        </writer_data_lifecycle>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>5</max_heartbeat_retries>
            <heartbeats_per_max_samples>8</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
  </qos_library>
  <!-- QOS library and profiles for TMS API Server processing -->
  <qos_library name="JTCWDDS_TMSAPI">
    <qos_profile name="Default">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for the CommandTopic. With the Command topic one node
    publishs a command and does not expect any response. For example, delete track.
    -->
    <qos_profile name="CommandTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the ResponseTopic. The Response topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="ResponseTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the RequestTopic. The Request topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="RequestTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the TrackTopic. The track topic profile is used for
    the general publish/subscribe pattern. One node publishes the various track
    type topics when tracks are add or updated. Other interested nodes subscribe
    to the topics and receive the track data.
    -->
    <qos_profile name="TrackTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <reader_data_lifecycle>
          <autopurge_nowriter_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_nowriter_samples_delay>
          <autopurge_disposed_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_disposed_samples_delay>
        </reader_data_lifecycle>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <writer_data_lifecycle>
          <autodispose_unregistered_instances>DDS_BOOLEAN_TRUE</autodispose_unregistered_instances>
        </writer_data_lifecycle>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>5</max_heartbeat_retries>
            <heartbeats_per_max_samples>8</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
  </qos_library>
  <!-- QOS library and profiles for GPS receiver processing -->
  <qos_library name="JTCWDDS_GPS">
    <qos_profile name="Default">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for the CommandTopic. With the Command topic one node
    publishs a command and does not expect any response. For example, delete track.
    -->
    <qos_profile name="CommandTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the ResponseTopic. The Response topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="ResponseTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the RequestTopic. The Request topic is part of the
    Request/Response pattern. In the pattern, one node uses the request topic to
    publish a request for data and subscribes to a response topic to receive the
    data. -->
    <qos_profile name="RequestTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <!-- QOS profile for a the TrackTopic. The track topic profile is used for
    the general publish/subscribe pattern. One node publishes the various track
    type topics when tracks are add or updated. Other interested nodes subscribe
    to the topics and receive the track data.
    -->
    <qos_profile name="TrackTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <reader_data_lifecycle>
          <autopurge_nowriter_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_nowriter_samples_delay>
          <autopurge_disposed_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_disposed_samples_delay>
        </reader_data_lifecycle>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <writer_data_lifecycle>
          <autodispose_unregistered_instances>DDS_BOOLEAN_TRUE</autodispose_unregistered_instances>
        </writer_data_lifecycle>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>5</max_heartbeat_retries>
            <heartbeats_per_max_samples>8</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
  </qos_library>
  <!-- QOS library and profiles for Gateway processing -->
  <qos_library name="JTCWDDS_GATEWAY">
    <qos_profile name="Default">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
      </writer_qos>
    </qos_profile>
    <qos_profile name="CommandTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
	  <initial_samples>1500</initial_samples>
          <max_samples>1500</max_samples>
	  <initial_instances>1</initial_instances>
	  <max_instances>1</max_instances>
	  <max_samples_per_instance>1500</max_samples_per_instance> 
        </resource_limits>
        <reader_resource_limits>
            <max_samples_per_remote_writer>1500</max_samples_per_remote_writer>
        </reader_resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <qos_profile name="ResponseTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <qos_profile name="RequestTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <qos_profile name="TrackTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <reader_data_lifecycle>
          <autopurge_nowriter_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_nowriter_samples_delay>
          <autopurge_disposed_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_disposed_samples_delay>
        </reader_data_lifecycle>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <writer_data_lifecycle>
          <autodispose_unregistered_instances>DDS_BOOLEAN_TRUE</autodispose_unregistered_instances>
        </writer_data_lifecycle>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>5</max_heartbeat_retries>
            <heartbeats_per_max_samples>8</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
  </qos_library>
  <!-- QOS library and profiles for HiuMsgHandler processing -->
  <qos_library name="JTCWDDS_HIUMSGHANDLER">
    <qos_profile name="Default">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
      </writer_qos>
    </qos_profile>
    <qos_profile name="CommandTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
	  <max_blocking_time><sec>1</sec> <nanosec> 0 </nanosec></max_blocking_time>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
	  <initial_samples>1500</initial_samples>
          <max_samples>1500</max_samples>
	  <initial_instances>1</initial_instances>
	  <max_instances>1</max_instances>
	  <max_samples_per_instance>1500</max_samples_per_instance> 
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>200</max_heartbeat_retries>
            <heartbeats_per_max_samples>150</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <qos_profile name="ResponseTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <qos_profile name="RequestTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_samples>DDS_LENGTH_UNLIMITED</max_samples>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>11</max_heartbeat_retries>
            <heartbeats_per_max_samples>0</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
    <qos_profile name="TrackTopic">
      <participant_qos>
      </participant_qos>
      <publisher_qos>
      </publisher_qos>
      <subscriber_qos>
      </subscriber_qos>
      <reader_qos>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_LAST_HISTORY_QOS</kind>
          <depth>1</depth>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <reader_data_lifecycle>
          <autopurge_nowriter_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_nowriter_samples_delay>
          <autopurge_disposed_samples_delay>
            <sec>0</sec>
            <nanosec>0</nanosec>
          </autopurge_disposed_samples_delay>
        </reader_data_lifecycle>
        <protocol>
          <rtps_reliable_reader>
            <min_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_heartbeat_response_delay>
            <max_heartbeat_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_heartbeat_response_delay>
            <heartbeat_suppression_duration>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </heartbeat_suppression_duration>
          </rtps_reliable_reader>
        </protocol>
      </reader_qos>
      <writer_qos>
        <writer_data_lifecycle>
          <autodispose_unregistered_instances>DDS_BOOLEAN_TRUE</autodispose_unregistered_instances>
        </writer_data_lifecycle>
        <durability>
          <kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>DDS_RELIABLE_RELIABILITY_QOS</kind>
        </reliability>
        <history>
          <kind>DDS_KEEP_ALL_HISTORY_QOS</kind>
        </history>
        <resource_limits>
          <max_instances>DDS_LENGTH_UNLIMITED</max_instances>
        </resource_limits>
        <protocol>
          <rtps_reliable_writer>
            <low_watermark>20</low_watermark>
            <high_watermark>80</high_watermark>
            <heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </heartbeat_period>
            <late_joiner_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </late_joiner_heartbeat_period>
            <fast_heartbeat_period>
              <sec>0</sec>
              <nanosec>100000000</nanosec>
            </fast_heartbeat_period>
            <max_heartbeat_retries>5</max_heartbeat_retries>
            <heartbeats_per_max_samples>8</heartbeats_per_max_samples>
            <min_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </min_nack_response_delay>
            <max_nack_response_delay>
              <sec>0</sec>
              <nanosec>0</nanosec>
            </max_nack_response_delay>
          </rtps_reliable_writer>
        </protocol>
      </writer_qos>
    </qos_profile>
  </qos_library>
</dds>
