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

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

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

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

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

2.2.2.2 域模块
2.2.2.2.1 DomainParticipant类
2.2.2.2.1.19 assert_liveliness

此方法手动断言DomainParticipant的活跃性,与LIVELINESS QoS策略(参见2.2.3,支持的QoS)结合使用,以向服务提示实体处于活动状态。

仅当DomainParticipant包含将LIVELINESS QoS设置为MANUAL_BY_PARTICIPANT的DataWriter实体并且DomainParticipant仅影响这些DataWriter实体的活跃性时,才需要调用此方法。否则,此方法没有任何效果。

注意:通过DataWriter对象上的write方法写入数据会断言DataWriter对象本身及其所属DomainParticipant对象的活跃性。因此,只有在应用程序不定期写入数据时才需要使用assert_liveliness。

完整的细节在2.2.3.11 LIVELINESS中提供。

2.2.2.2.1.20 set_default_publisher_qos

此方法设置发布者QoS策略的默认值,在调用create_publisher方法时作为默认QoS策略用于新创建的发布者(Publisher)实体。

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

可以将特殊值PUBLISHER_QOS_DEFAULT当做本方法的输入参数,以指示应将默认QoS重置为工厂使用的初始值,即从未调用set_default_publisher_qos方法时使用的值。

2.2.2.2.1.21 get_default_publisher_qos

此方法获取发布者(Publisher)QoS的默认值,即在create_publisher方法使用默认QoS策略的情况下,用于新创建的发布者(Publisher)实体的QoS策略。

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

2.2.2.2.1.22 set_default_subscriber_qos

此方法设置订阅者(Subscriber)QoS策略的默认值,在调用create_subscriber方法时作为默认QoS策略用于新创建的订阅者(Subscriber)实体。

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

可以将特殊值SUBSCRIBER_QOS_DEFAULT当做本方法的输入参数,以指示应将默认QoS重置为工厂使用的初始值,即从未调用set_default_subscriber_qos方法时使用的值。

2.2.2.2.1.23 get_default_subscriber_qos

此方法获取订阅者(Subscriber)QoS的默认值,即在create_subscriber方法使用默认QoS策略的情况下,用于新创建的订阅者(Subscriber)实体的QoS策略。

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

2.2.2.2.1.24 set_default_topic_qos

此方法设置主题(Topic)QoS策略的默认值,在调用create_topic方法时作为默认QoS策略用于新创建的主题(Topic)实体。

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

可以将特殊值TOPIC_QOS_DEFAULT当做本方法的输入参数,以指示应将默认QoS重置为工厂使用的初始值,即从未调用set_default_topic_qos方法时使用的值。

2.2.2.2.1.25 get_default_topic_qos

此方法获取主题(Topic)QoS的默认值,即在create_topic方法使用默认QoS策略的情况下,用于新创建的主题(Topic)实体的QoS策略。

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

2.2.2.2.1.26 get_domain_id

此方法获取用于创建DomainParticipant对象的domain_id。domain_i标识DomainParticipant所属的DDS域。如2.2.2.2.1的介绍中所述,每个DDS域代表与其他域隔离的单独数据“通信平面”。

2.2.2.2.1.27 get_discovered_participants

此方法获取已在域中发现的DomainParticipants列表,并且应通过DomainParticipant ignore_participant方法“忽略”应用程序未加入的域。

如果服务的底层不在本地维护连接信息,则方法可能会失败。在这种情况下,方法将返回UNSUPPORTED。

2.2.2.2.1.28 get_discovered_participant_data

此方法获取在网络上发现的DomainParticipant的有关信息。参与者必须与调用此方法的参与者位于同一域中,并且不能被DomainParticipant ignore_participant方法“忽略”过。participant_handle必须对应于上面描述的这种DomainParticipant。否则,此方法调用将失败并返回PRECONDITION_NOT_MET。

使用get_discovered_participants方法获取当前发现的DomainParticipants。

如果服务的底层不包含填写participant_data所需的信息,则方法调用也可能失败。这种情况下,将返回UNSUPPORTED。

2.2.2.2.1.29 get_discovered_topics

此方法获取已在域中发现的主题列表,并且应通过DomainParticipant ignore_topic方法“忽略”应用程序未创建的主题列表。

2.2.2.2.1.30 get_discovered_topic_data

此方法获取在网络上发现的主题的有关信息。该主题必须由与调用此方法的参与者位于同一域中的参与者创建,并且不能被DomainParticipant ignore_topic方法“忽略”过。topic_handle必须对应于上面描述的这类主题。否则,此方法调用将失败并返回PRECONDITION_NOT_MET。

使用get_discovered_topics方法获取当前发现的主题。

如果服务的底层不包含填写topic_data所需的信息,则方法调用也可能失败。这种情况下,将返回UNSUPPORTED。

如果服务的底层不在本地维护连接信息,则方法可能会失败。在这种情况下,方法将返回UNSUPPORTED。

2.2.2.2.1.31 contains_entity

此方法检查给定的a_handle是否为该DomainParticipant创建,此从属关系在该DomainParticipant包含的实体中递归适用。也就是说,它既适用于使用DomainParticipant直接创建的实体(TopicDescription,Publisher或Subscriber),也适用于使用包含的Publisher或Subscriber作为工厂创建的实体等。

实体(Entity)的实例句柄可以从内置主题数据,各种状态或实体方法get_instance_handle获得。

2.2.2.2.1.32 get_current_time

此方法返回当前时间值,辅助服务对需要发布的数据加时间戳,并为其接收的数据设置接收时间戳。


译文连载

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

相关链接

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

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值