OpenDDS 内置主题(BITs)

内置主题用于发现彼此的参与者及端点信息(BITs),包括四个内置主题及三个特殊主题

域参与者,主题,数据写入器,数据读取器

每个域参与者自动创建内置主题的订阅,如果不打算使用内置主题,构建时删除内置主题支持,可以减少核心DDS库30%的空间。

1. DCPSParticipant Topic

    该主题用于发布关于域的域参与者信息

    struct ParticipantBuiltinTopicData {

BuiltinTopicKey_t key; // 16个8位组

UserDataQosPolicy user_data;

    };

主题名称:"DCPSParticipant"

主题类型:"PARTICIPANT_BUILT_IN_TOPIC_TYPE"

2.DCPSTopic Topic

    DCPSTopic主题发布有关域中主题的信息。

    struct TopicBuiltinTopicData {

BuiltinTopicKey_t key;

string name;

string type_name;

DurabilityQosPolicy durability;

QosPolicy deadline;

LatencyBudgetQosPolicy latency_budget;

LivelinessQosPolicy liveliness;

ReliabilityQosPolicy reliability;

TransportPriorityQosPolicy transport_priority;

LifespanQosPolicy lifespan;

DestinationOrderQosPolicy destination_order;

HistoryQosPolicy history;

ResourceLimitsQosPolicy resource_limits;

OwnershipQosPolicy ownership;

TopicDataQosPolicy topic_data;

    };

    每个主题都由唯一键标识,并且是此内置主题内的自己的实例。 上面的成员标识主题的名称,主题类型的名称以及该主题的QoS策略集。

主题名称:"DCPSTopic"

主题类型:"TOPIC_BUILT_IN_TOPIC_TYPE"

3.DCPSPublication Topic

    DCPSPublication主题发布有关域中数据编写器的信息。

    struct PublicationBuiltinTopicData {

BuiltinTopicKey_t key;

BuiltinTopicKey_t participant_key;

string topic_name;

string type_name;

DurabilityQosPolicy durability;

DeadlineQosPolicy deadline;

LatencyBudgetQosPolicy latency_budget;

LivelinessQosPolicy liveliness;

ReliabilityQosPolicy reliability;

LifespanQosPolicy lifespan;

UserDataQosPolicy user_data;

OwnershipStrengthQosPolicy ownership_strength;

PresentationQosPolicy presentation;

PartitionQosPolicy partition;

TopicDataQosPolicy topic_data;

GroupDataQosPolicy group_data;

    };

    每个Data Writer在创建时都会分配一个唯一的键,并在此主题中定义自己的实例。 上面的字段标识Data Writer所属的域参与者(通过其关键字),主题名称和类型以及应用于DataWriter的各种QoS策略。

主题名称:"DCPSPublication"

主题类型:"PUBLICATION_BUILT_IN_TOPIC_TYPE"

4.DCPSSubscription Topic

    DCPSSubscription主题发布有关域中数据读取器的信息。

    struct SubscriptionBuiltinTopicData {

BuiltinTopicKey_t key;

BuiltinTopicKey_t participant_key;

string topic_name;

string type_name;

DurabilityQosPolicy durability;

DeadlineQosPolicy deadline;

LatencyBudgetQosPolicy latency_budget;

LivelinessQosPolicy liveliness;

ReliabilityQosPolicy reliability;

DestinationOrderQosPolicy destination_order;

UserDataQosPolicy user_data;

TimeBasedFilterQosPolicy time_based_filter;

PresentationQosPolicy presentation;

PartitionQosPolicy partition;

TopicDataQosPolicy topic_data;

GroupDataQosPolicy group_data;

    };

    每个数据读取器在创建时都会分配一个唯一的密钥,并在此主题内定义自己的实例。 上面的字段标识数据读取器所属的域参与者(通过其密钥),主题名称和类型以及应用于数据读取器的各种QoS策略。

主题名称:"DCPSSubscription"

主题类型:"SUBSCRIPTION_BUILT_IN_TOPIC_TYPE"

5.OpenDDSParticipantLocation Topic

    内置主题“ OpenDDSParticipantLocation”由DDSI-RTPS discovery 实现发布,以使应用程序可以查看每个远程参与者如何通过网络连接的详细信息。

    OpenDDSParticipantLocation的IDL在OpenDDS :: DCPS模块的dds/DdsDcpsCore.idl中。 如果启用了RtpsRelay(15.2)和/或IETF ICE(15.3),则它们的用法将映射在OpenDDSParticipantLocation主题数据中

主题名称:"OpenDDSParticipantLocation"

主题类型:"PARTICIPANT_LOCATION_BUILT_IN_TOPIC_TYPE"

6.OpenDDSConnectionRecord Topic

    启用IETF ICE支持时,DDSI-RTPS发现实现和RTPS_UDP传输实现将发布内置主题“ OpenDDSConnectionRecord”。 OpenDDSConnectionRecord的IDL在OpenDDS :: DCPS模块的dds / DdsDcpsCore.idl中。

主题名称:"OpenDDSConnectionRecord"

主题类型:"PARTICIPANT_LOCATION_BUILT_IN_TOPIC_TYPE"

7.OpenDDSInternalThread Topic

    当使用DCPSThreadStatusInterval配置OpenDDS时,将发布内置主题“ OpenDDSInternalThread”。 启用后,此内置主题的DataReader将报告由OpenDDS在当前进程中创建和管理的线程的运行状况(响应性)。 OpenDDSInternalThread的IDL在OpenDDS :: DCPS模块中的dds / DdsDcpsCore.idl中。

主题名称:"OpenDDSInternalThread"

主题类型:"INTERNAL_THREAD_BUILT_IN_TOPIC_TYPE"

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值