<?xml version="1.0" encoding="utf-8" standalone="no"?>
<dds>

    <qos_library name="LudvigLibrary">
		
		
    <qos_profile name="ReliableStatusProfile" base_name="Ludvig::GlobalQoS">
      <datawriter_qos>
        <publication_name>
          <name>ReliableStatusProfile</name>
        </publication_name>
        <durability>
          <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>RELIABLE_RELIABILITY_QOS</kind>
          <max_blocking_time>
            <sec>10</sec>
            <nanosec>DURATION_ZERO_NSEC</nanosec>
          </max_blocking_time>
        </reliability>
        <resource_limits>
          <max_instances>500</max_instances>
          <max_samples>500</max_samples>
          <max_samples_per_instance>1</max_samples_per_instance>
          <initial_instances>1</initial_instances>
          <initial_samples>1</initial_samples>
        </resource_limits>
      </datawriter_qos>

      <datareader_qos>
        <subscription_name>
          <name>ReliableStatusProfile</name>
        </subscription_name>
        <durability>
          <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>RELIABLE_RELIABILITY_QOS</kind>
          <max_blocking_time>
            <sec>10</sec>
            <nanosec>DURATION_ZERO_NSEC</nanosec>
          </max_blocking_time>
        </reliability>
        <resource_limits>
          <max_instances>500</max_instances>
          <max_samples>500</max_samples>
          <max_samples_per_instance>1</max_samples_per_instance>
          <initial_instances>1</initial_instances>
          <initial_samples>1</initial_samples>
        </resource_limits>
        <property>
          <value>
            <element>
              <name>dds.data_reader.state.filter_redundant_samples</name>
              <value>0</value>
            </element>
          </value>
        </property>
      </datareader_qos>

      <topic_qos>
        <durability>
          <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
        </durability>
        <reliability>
          <kind>RELIABLE_RELIABILITY_QOS</kind>
          <max_blocking_time>
            <sec>10</sec>
            <nanosec>DURATION_ZERO_NSEC</nanosec>
          </max_blocking_time>
        </reliability>
        <resource_limits>
          <max_instances>500</max_instances>
          <max_samples>500</max_samples>
          <max_samples_per_instance>1</max_samples_per_instance>
          <initial_instances>1</initial_instances>
          <initial_samples>1</initial_samples>
        </resource_limits>
      </topic_qos>
    </qos_profile>


		
        <qos_profile base_name="LudvigLibrary::ReliableStatusProfile" name="GenericDataProfile">

            <topic_qos>
                <resource_limits>
                    <max_instances>12000</max_instances>
                    <max_samples>12000</max_samples>
                    <max_samples_per_instance>1</max_samples_per_instance>
                    <initial_instances>1</initial_instances>
                    <initial_samples>1</initial_samples>
                </resource_limits>
            </topic_qos>
            <datawriter_qos>
                <publication_name>
                    <name>GenericDataProfile(UNMATCHED TOPIC FILTER)</name>
                </publication_name>
                <resource_limits>
                    <max_instances>12000</max_instances>
                    <max_samples>12000</max_samples>
                    <max_samples_per_instance>1</max_samples_per_instance>
                    <initial_instances>1</initial_instances>
                    <initial_samples>1</initial_samples>
                </resource_limits>
            </datawriter_qos>
            <datareader_qos>
                <subscription_name>
                    <name>GenericDataProfile(UNMATCHED TOPIC FILTER)</name>
                </subscription_name>
                <resource_limits>
                    <max_instances>12000</max_instances>
                    <max_samples>12000</max_samples>
                    <max_samples_per_instance>1</max_samples_per_instance>
                    <initial_instances>1</initial_instances>
                    <initial_samples>1</initial_samples>
                </resource_limits>
            </datareader_qos>

            <datawriter_qos topic_filter="ManualPos*">
                <publication_name>
                    <name>GenericDataProfile(ManualPos*)</name>
                </publication_name>
                <resource_limits>
                    <max_instances>132</max_instances>
                    <max_samples>132</max_samples>
                    <max_samples_per_instance>1</max_samples_per_instance>
                    <initial_instances>132</initial_instances>
                    <initial_samples>132</initial_samples>
                </resource_limits>
            </datawriter_qos>
            <datareader_qos topic_filter="ManualPos*">
                <subscription_name>
                    <name>GenericDataProfile(ManualPos*)</name>
                </subscription_name>
                <resource_limits>
                    <max_instances>132</max_instances>
                    <max_samples>132</max_samples>
                    <max_samples_per_instance>1</max_samples_per_instance>
                    <initial_instances>132</initial_instances>
                    <initial_samples>132</initial_samples>
                </resource_limits>
                <multicast>
                    <value>
                        <element>
                            <receive_address>239.255.1.2</receive_address>
                        </element>
                    </value>
                </multicast>
            </datareader_qos>
            
        </qos_profile>

        <qos_profile base_name="LudvigLibrary::GenericDataProfile" name="BasicDataProfile"/>

        <qos_profile base_name="LudvigLibrary::GenericDataProfile" name="KinematicDataProfile">
            <datawriter_qos>
                <publication_name>
                    <name>KinematicDataProfile(UNMATCHED TOPIC FILTER)</name>
                </publication_name>
                <durability>
                    <kind>VOLATILE_DURABILITY_QOS</kind>
                </durability>
                <reliability>
                    <kind>BEST_EFFORT_RELIABILITY_QOS</kind>
                    <max_blocking_time>
                        <sec>DURATION_ZERO_SEC</sec>
                        <nanosec>100000000</nanosec>
                    </max_blocking_time>
                </reliability>
            </datawriter_qos>
            <datareader_qos>
                <subscription_name>
                    <name>KinematicDataProfile(UNMATCHED TOPIC FILTER)</name>
                </subscription_name>
                <durability>
                    <kind>VOLATILE_DURABILITY_QOS</kind>
                </durability>
                <reliability>
                    <kind>BEST_EFFORT_RELIABILITY_QOS</kind>
                    <max_blocking_time>
                        <sec>DURATION_ZERO_SEC</sec>
                        <nanosec>100000000</nanosec>
                    </max_blocking_time>
                </reliability>
            </datareader_qos>

            <datawriter_qos topic_filter="ManualPos*">
                <publication_name>
                    <name>KinematicDataProfile(ManualPos*)</name>
                </publication_name>
                <durability>
                    <kind>VOLATILE_DURABILITY_QOS</kind>
                </durability>
                <reliability>
                    <kind>BEST_EFFORT_RELIABILITY_QOS</kind>
                    <max_blocking_time>
                        <sec>DURATION_ZERO_SEC</sec>
                        <nanosec>100000000</nanosec>
                    </max_blocking_time>
                </reliability>
                <resource_limits>
                    <max_samples_per_instance>5</max_samples_per_instance>
                </resource_limits>
                <batch>
                    <enable>true</enable>
                    <max_samples>5</max_samples>
                    <max_data_bytes>1200</max_data_bytes>
                    <source_timestamp_resolution>
                        <sec>0</sec>
                        <nanosec>0</nanosec>
                    </source_timestamp_resolution>
                    <max_flush_delay>
                        <sec>DURATION_ZERO_SEC</sec>
                        <nanosec>10000000</nanosec>
                    </max_flush_delay>
                </batch>
            </datawriter_qos>
            <datareader_qos topic_filter="ManualPos*">
                <subscription_name>
                    <name>KinematicDataProfile(ManualPos*)</name>
                </subscription_name>
                <durability>
                    <kind>VOLATILE_DURABILITY_QOS</kind>
                </durability>
                <reliability>
                    <kind>BEST_EFFORT_RELIABILITY_QOS</kind>
                    <max_blocking_time>
                        <sec>DURATION_ZERO_SEC</sec>
                        <nanosec>100000000</nanosec>
                    </max_blocking_time>
                </reliability>
            </datareader_qos>
        </qos_profile>
    </qos_library>
</dds>
