DDS (Data Distribution Service) 数据分发服务-规范中文翻译_009

本文介绍了DDS规范中以数据为中心的订阅发布模型,特别是平台无关模型(PIM)的域模块,特别是DomainParticipantFactory类的功能,包括创建、删除、获取和设置DomainParticipant的方法。此外,还提到了DDS规范的上下篇和相关链接资源。
摘要由CSDN通过智能技术生成

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_009

2.以数据为中心的订阅发布(DCPS)

2.2 平台无关模型(Platform Independent Model ,PIM)

2.2.2 平台无关模型(PIM)描述

2.2.2.2 域模块
2.2.2.2.2 DomainParticipantFactory类

此类的唯一目的是创建和销毁DomainParticipant对象。

DomainParticipantFactory本身没有工厂。它是一个预先存在的单例对象,可以通过DomainParticipantFactory上的get_instance类方法进行访问。

在这里插入图片描述
以下子小节提供了有关方法的详细信息。

2.2.2.2.2.1 create_participant

此方法将创建一个新的DomainParticipant对象。该DomainParticipant对象的创建意味着调用此方法的应用程序打算加入domain_id参数标识的域。

如果指定的QoS策略不一致,则方法调用将失败,并且不会创建DomainParticipant对象。

特殊值PARTICIPANT_QOS_DEFAULT表明应使用工厂中设置的默认DomainParticipant QoS创建DomainParticipant。使用此值等同于应用程序通过get_default_participant_qos(2.2.2.2.2.6)方法获取默认DomainParticipant QoS并使用返回的QoS创建DomainParticipant。

如果调用失败,将返回“nil”值(由平台指定)。

2.2.2.2.2.2 delete_participant

此方法将删除现有的DomainParticipant。只有在属于该参与者的所有域实体都被删除的情况下,才能调用此方法。否则返回错误PRECONDITION_NOT_MET。

除标准错误代码外,还可能返回错误代码:PRECONDITION_NOT_MET。

2.2.2.2.2.3 get_instance

此方法返回DomainParticipantFactory单例。该方法是幂等的,也就是说它可以被多次调用而没有副作用,返回相同的DomainParticipantFactory实例。

get_instance方法是使用本机语言的语法实现的静态方法,因此不能在IDL PSM中表示。

预定义值TheParticipantFactory也可以用作get_instance方法返回的单例工厂的别名。

2.2.2.2.2.4 lookup_participant

此方法获取之前创建的属于特定domain_id的DomainParticipant对象。如果不存在此类DomainParticipant对象,将返回“nil”值。

如果存在属于该domain_id的多个DomainParticipant对象,则返回其中一个对象,并不具体指定为哪一个。

2.2.2.2.2.5 set_default_participant_qos

此方法设置DomainParticipant QoS策略的默认值,在调用create_participant方法时作为默认QoS策略用于新创建的DomainParticipant实体。

此方法将检查生成的策略是否是自相容的; 如果不是,则方法无效并返回INCONSISTENT_POLICY。

2.2.2.2.2.6 get_default_participant_qos

此方法获取DomainParticipant QoS的默认值,即在create_participant方法使用默认QoS策略的情况下,用于新创建的DomainParticipant的QoS策略。

通过此方法获取到的值将与上次成功调用get_default_participant_qos时指定的值集保持一致;如果get_default_participant_qos从未被调用,默认值在2.2.3 支持的QoS中的QoS表中列出。

2.2.2.2.2.7 set_qos

此方法设置DomainParticipantFactory QoS策略的值。这些策略控制实体的工厂对象的行为。
请注意,尽管具有QoS,但DomainParticipantFactory不是实体。

此方法将检查生成的策略是否是自相容的; 如果不是,则方法无效并返回INCONSISTENT_POLICY。

2.2.2.2.2.8 get_qos

此方法返回DomainParticipantFactory QoS策略的值。


译文连载

DDS规范-上一篇:DDS (Data Distribution Service) 数据分发服务-规范中文翻译_008
DDS规范-下一篇:DDS (Data Distribution Service) 数据分发服务-规范中文翻译_010
RTPS规范-译文连载:实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_001

相关链接

DDS科普:一文读懂DDS(数据分发服务)
DDS定义:什么是DDS?
产品介绍:BLUE DCS分布式数据连接解决方案
产品试用: 海蓝云平台-Blue DCS

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值