.. include:: vars.rst .. _section-ConfiguringQoS: Configuring Quality of Service (QoS) ------------------------------------ The QoS tab allows you to add Qualities of Services and organize them in QoS Libraries and QoS Profiles. To add new QoS to your model, click |add_library_icon| in the QoS tab or right-click **QoS Libraries** in the tree: .. figure:: static/qos_tab_add_library.png :alt: Adding a QoS library :name: Figure_qos_tab_add_library :align: center :figwidth: 90% :width: 393px :height: 221px To add a QoS Library, enter the Library Name and the destination file: .. figure:: static/qos_libraries_enter_name.png :alt: Entering a QoS library name and destination file :name: Figure_qos_libraries_enter_name :align: center :figwidth: 90% :width: 500px :height: 235px You can add QoS Profiles to that library by using |add_profile_icon| in the main panel while a QoS Library is selected or by right-clicking on the QoS Library: .. figure:: static/add_qos_profile.png :alt: Adding a QoS profile to a library :name: Figure_add_qos_profile :align: center :figwidth: 90% :width: 400px :height: 224px A pop-up window will guide you to select the profile name, the destination file, the profile you want to inherit from, and other attributes as shown in the screenshot below: .. figure:: static/add_qos_profile_popup.png :alt: Popup for adding profile details :name: Figure_add_qos_profile_popup :align: center :figwidth: 90% :width: 399px :height: 557px Some profiles cannot be defined as Snippets because they inherit from a base profile. For more information on Entities and Profiles, see these sections of the *RTI Connext DDS Core Libraries User’s Manual*: - :link_qos_profile_inheritance:`QoS Profile Inheritance and Composition <>` - :link_dds_entities:`DDS Entities <>` - :link_fundamentals_of_domains:`Fundamentals of DDS Domains and DomainParticipants <>` - :link_domainparticipantfactory:`DomainParticipantFactory <>` Once you have your profiles, you can select one of them and add QoS for a specific Entity: .. figure:: static/add_qos_for_entity.png :alt: Adding QoS for a specific entity :name: Figure_add_qos_for_entity :align: center :figwidth: 90% When an Entity is selected, you can set all the QoS related to that Entity in the Structured view: .. figure:: static/add_qos_structured_view.png :alt: Setting QoS in the Structured view :name: Figure_add_qos_structured_view :align: center :figwidth: 90% See :link_dds_entities_qos:`QosPolicies <>` in the *RTI Connext DDS Core Libraries User’s Manual* for more information on the QoS available for each entity. You can browse all of the QoS policies and select the |drill_down_icon| button to set and get more information on a specific setting within a policy: .. figure:: static/expand_modified_qos.png :alt: Expanding modified QoS policies :name: Figure_expand_modified_qos :align: center :figwidth: 90% If you don’t create a QoS Profile or policy for an Entity, the default QoS is used for that Entity. A short explanation is shown, and a link to **[More…]** information for that specific policy is provided. For each QoS policy, suggestions and checks are provided: .. figure:: static/history_kinds.png :alt: Suggested settings :name: Figure_history_kinds :align: center :figwidth: 90% Once the QoS is set, it will be highlighted in green to indicate that it is being set locally: .. figure:: static/qos_highlighted.png :alt: Highlighted QoS :name: Figure_qos_highlighted :align: center :figwidth: 90% If your profile is inheriting from another profile, System Designer will highlight the values that are inherited from the base profile in blue. To inherit the values from another profile click on |edit_icon| next to the Base QoS(s) field, and then select the QoS profile where you want to inherit from: .. figure:: static/qos_inheritance.png :alt: Inheriting from a QoS :name: Figure_qos_inheritance :align: center :figwidth: 90% You can see where a value is coming from by selecting |inheritance_icon| next to the QoS value: .. figure:: static/base_qos.png :alt: Seeing the base QoS :name: Figure_base_qos :align: center :figwidth: 90% A summary will be presented to you displaying all the inheritance: .. figure:: static/show_all_inheritance.png :alt: Seeing the inheritance chain :name: Figure_show_all_inheritance :align: center :figwidth: 90% The XML view allows you to check the XML results and manually edit each XML file: .. figure:: static/check_xml_results.png :alt: Seeing the resulting XML :name: Figure_check_xml_results :align: center :figwidth: 100% .. Note:: If you later edit a profile name that’s already being used in an entity (such as in a ````), the entity does not get updated with your change. You will get a warning when this occurs: .. figure:: static/warning_unresolved_profile.png :alt: Warnings :name: Figure_warning_unresolved_profile :align: center :figwidth: 90% You can select and edit the Entity QoS in the Structured view to use the new name, or edit the XML file directly to use the new name. |SD| allows you to change an already used name to give you flexibility in trying out your model. For instance, you may want to use your newly named profile in different entities. Entities that use the old (now unrecognized) name will revert to the default QoS. .. Note:: About using default QoS: If you create an Entity QoS but don’t modify its defaults, you won’t see it the next time you open the project. Entities with no changes to the default QoS use the default settings and won’t be displayed. .. figure:: static/entity_using_default_qos.png :alt: Entity with default QoS :name: Figure_entity_using_default_qos :align: center :figwidth: 100%