DDS (Data Distribution Service) 数据分发服务-规范中文翻译_005
2.以数据为中心的订阅发布(DCPS)
2.2 平台无关模型(Platform Independent Model ,PIM)
2.2.2 平台无关模型(PIM)描述
2.2.2.1 基础设施模块
2.2.2.1.2 DomainEntity类
DomainEntity是所有DCPS实体的抽象基类,DomainParticipant除外。其唯一目的是表示DomainParticipant是一种特殊的实体,它充当所有其他实体的容器,但本身不能包含其他DomainParticipant。
DomainEntity |
---|
no attributes |
no operations |
2.2.2.1.3 QosPolicy 类
QosPolicy | |
---|---|
attributes | |
name | string |
no operations |
QosPolicy类为应用程序提供了指定服务质量参数的基本机制,它具有一个属性name,用于唯一标识每个QoS策略。所有具体的QosPolicy类都派生自此基类,并包含一个类型取决于具体QoS策略的值。
QosPolicy值的类型可以是原子的,例如整数或浮点数,或复合类型(结构)。需要连续地设置多个参数以定义QosPolicy的一致值时,就会使用复合类型。
可以使用QosPolicy列表配置每个实体。但是,任一实体无法支持任意QosPolicy。例如,DomainParticipant支持与Topic或Publisher不同的QosPolicy。
可以在创建实体时设置QosPolicy,也可以使用set_qos方法修改QosPolicy。列表中的每个QosPolicy都独立于其他QosPolicy进行处理,这种方法具有可扩展的优点。但是也可能存在多个策略发生冲突的情况。每次通过set_qos方法修改策略时,都会执行一致性检查。
在某个策略设置为给定值后需要更改时,不强制要求立即应用新值,允许服务在过渡阶段后应用它。此外,一些QosPolicy具有“不可变”语义,这意味着它们只能在实体创建时指定,或者在实体上调用启用操作之前指定。
小节2.2.3支持的QoS提供所有QosPolicy的列表,包括它们的含义,特征和可能的值,以及它们适用的具体实体。