Fast DDS之Qos与Profiles

2024-04-23 23:44
文章标签 qos dds fast profiles

本文主要是介绍Fast DDS之Qos与Profiles,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • XML profiles
    • 加载
    • 创建
    • 修改
    • 可配置内容
  • Qos
    • DeadlineQosPolicy
    • DestinationOrderQosPolicy
    • DurabilityQosPolicy
    • DurabilityServiceQosPolicy
    • EntityFactoryQosPolicy
    • GroupDataQosPolicy
    • HistoryQosPolicy
    • LatencyBudgetQosPolicy
    • LivelinessQosPolicy
    • OwnershipQosPolicy
    • OwnershipStrengthQosPolicy
    • PartitionQosPolicy
    • PresentationQosPolicy
    • ReaderDataLifecycleQosPolicy
    • ReliabilityQosPolicy
    • ResourceLimitsQosPolicy
    • TimeBasedFilterQosPolicy
    • TopicDataQosPolicy
    • TransportPriorityQosPolicy
    • UserDataQosPolicy
    • WriterDataLifecycleQosPolicy

Qos (Quality of Service)用于指定服务的行为,允许用户指定每个实体怎样表现或运行。通过XML文件(Profiles)来配置或者在代码中直接指定。

XML profiles

xml配置文件可以有多个。

加载

Fast DDS在初始化阶段自动加载XML:

  • 在当前可执行文件的路径下加载 DEFAULT_FASTRTPS_PROFILES.xml
  • 加载环境变量FASTRTPS_DEFAULT_PROFILES_FILE指定的xml
  • 加载配置参数指定的xml文件
  • 直接加载xml格式的字符串

创建

<?xml version="1.0" encoding="UTF-8" ?>
<dds xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles"><profiles><domainparticipant_factory profile_name="domainparticipant_factory_profile"><!-- ... --></domainparticipant_factory><participant profile_name="participant_profile"><!-- ... --></participant><data_writer profile_name="datawriter_profile"><!-- ... --></data_writer><data_reader profile_name="datareader_profile"><!-- ... --></data_reader><topic profile_name="topic_profile"><!-- ... --></topic><transport_descriptors><!-- ... --></transport_descriptors></profiles><library_settings><!-- ... --></library_settings><log><!-- ... --></log><types><!-- ... --></types>
</dds>
  1. <dds>, <profiles>, <library_settings>, <types>, and <log> 这些标签可以独立定义。
  2. <participant>, <data_reader>, <data_writer>, <topic>, and <transport_descriptors> 这些标签必须作为<profiles>的子元素

修改

if (ReturnCode_t::RETCODE_OK ==DomainParticipantFactory::get_instance()->load_XML_profiles_file("my_profiles.xml"))
{DomainParticipantQos participant_qos;DomainParticipantFactory::get_instance()->get_participant_qos_from_profile("participant_xml_profile",participant_qos);// Name obtained in another section of the codeparticipant_qos.name() = custom_name;// Modify number of preallocations (this overrides the one set in the XML profile)participant_qos.allocation().send_buffers.preallocated_number = 10;// Create participant using the modified XML QosDomainParticipant* participant =DomainParticipantFactory::get_instance()->create_participant(0, participant_qos);
}

可配置内容

  • DomainParticipantFactory profiles
  • DomainParticipant profiles
  • DataWriter profiles
  • DataReader profiles
  • Topic profiles
  • transport_descriptor
  • Intra-process delivery profiles
  • Log profiles
  • Dynamic Types profiles

Qos

每个Qos都有一个唯一的ID(定义在枚举QosPolicyId_t中),这个ID值用于一些Status中,以识别状态所引用的特定Qos策略。
Fast DDS中支持的Policies在这里

DeadlineQosPolicy

当新的数据样本的频率低于设定的阈值时,此QoS策略会发出警报。它对于预期定期更新数据的情况非常有用。

Data Member NameTypeDefault Value
periodDuration_tc_TimeInfinite

DestinationOrderQosPolicy

DurabilityQosPolicy

DurabilityServiceQosPolicy

EntityFactoryQosPolicy

GroupDataQosPolicy

HistoryQosPolicy

LatencyBudgetQosPolicy

LivelinessQosPolicy

OwnershipQosPolicy

OwnershipStrengthQosPolicy

PartitionQosPolicy

PresentationQosPolicy

ReaderDataLifecycleQosPolicy

ReliabilityQosPolicy

ResourceLimitsQosPolicy

TimeBasedFilterQosPolicy

TopicDataQosPolicy

TransportPriorityQosPolicy

UserDataQosPolicy

WriterDataLifecycleQosPolicy

eProsima扩展的Qos

这篇关于Fast DDS之Qos与Profiles的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930211

相关文章

每天一道面试题(2):fail-safe 机制与 fail-fast 机制分别有什么作用?

当谈论Java集合的 fail-fast 和 fail-safe 机制时,涉及的是在集合被并发修改时的行为和处理方式。这些机制对保证程序的正确性和稳定性非常重要,尤其是在多线程环境中。 1. Fail-Fast 机制 定义: Fail-fast 机制的核心是在检测到集合在遍历过程中被修改时,立即抛出 ConcurrentModificationException 异常,从而中断迭代操作。这种

图形API学习工程(24):D3D11读取非DDS格式的CubeMap

工程GIT地址:https://gitee.com/yaksue/yaksue-graphics 目标 在《图形API学习工程(21):使用CubeMap纹理》中,由于DirectX读取CubeMap的教程范例都是DDS格式的纹理,因此我也首先实现了DDS的版本,期望之后做处理。 上一篇使D3D12可以用非DDS格式的CubeMap了,本篇目标将是D3D11。 分析当前的流程 当前使用D

UVa 11992 Fast Matrix Operations 线段树

UVa 11992 Fast Matrix Operations 题目大意:有一个r行c列的全0矩阵,支持三种操作: 1 x1 y1 x2 y2 v 子矩阵(x1,y1,x2,y2)的所有元素增加v(v > 0)。 2 x1 y1 x2 y2 v 子矩阵(x1,y1,x2,y2)的所有元素设为v(v > 0)。 3 x1 y1 x2 y2    查询子矩阵(x1,y1,x2,y2

【HDU】4965 Fast Matrix Calculation 矩阵快速幂

传送门:【HDU】4965 Fast Matrix Calculation 题目分析:因为比赛的时候写的太匆忙。。写的不堪入目,所以赛后重写了一次,顺便就贴一下了。 因为A*B=C,所以C^(N*N-1) = A*B*A*B*A*...*B*A*B,因为满足结合律所以变成A*( (B*A)^(N*N-2) )*B,因为中间得到的矩阵最大不超过K(K<=6),所以可以对中间的矩阵快速幂,然

Fast Image Cache

https://github.com/path/FastImageCache   Fast Image Cache is an efficient, persistent, and—above all—fast way to store and retrieve images in your iOS application. Part of any good iOS applica

DDS基本原理--FPGA学习笔记

DDS信号发生器原理: `timescale 1ns / 1ps//// Company: // Engineer: // // Create Date: 2024/09/04 15:20:30// Design Name: hilary// Module Name: DDS_Module//module DDS_Module(Clk,Reset_n,Fword,

NCBI-get-GCFIDs_fast.py

import requestsimport osimport redef download_genome_first(gcf_id):# 构建FTP下载路径base_url = "https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/"# 提取GCF号的数字部分并按三位分割parts = gcf_id.split('_')[1] # 提取数字部分path_

Fast Power

Calculate the an % b where a, b and n are all 32bit non-negative integers. Example For 231 % 3 = 2 For 1001000 % 1000 = 0 Challenge O(logn) 思想:recursion算一半,然后base case,处理算完一半以后的情况; 公式就是 (a*b) %

fast-voice-assistant

首先我们来到这个据说50行代码就可以创建个人语音助手的github地址GitHub - dsa/fast-voice-assistant: ⚡ Insanely fast AI voice assistant with <500ms response times 按照readme 完成环境的配置 but,你发现,这只是第一步,真正的难点在于完成.env中各个key的配置 1)Using th

游戏图片移植问题!DDS转PVR

折腾了两天,PS转PNG脚本无法批处理执行,Texturepacker PNG转PVR保存文件无效果。 最后还是用了神器PVRTexTool+BAT解决 首先下载:http://ishare.iask.sina.com.cn/f/18008068.html?from=like 配置好环境变量,右键点击我的电脑>属性>高级>环境变量,双击Path变量在最后的位置添加字段:F:\PVRTexTo