3.1.2.1.19 TopicDataQosPolicy
TopicDataQosPolicy 允许应用程序在创建 Topic 时附加额外信息,以便当远程应用程序发现该 Topic 时,能够访问并使用这些数据。
QoS策略数据成员列表:
数据成员名称 | 类型 | 默认值 |
---|---|---|
collection | std::vector |
空向量 |
注意: 此QoS策略适用于 Topic 实体,可以在已经创建的情况下进行更改。
示例
// 此示例仅适用于 Topic 实体
TopicQos topic_qos;
// TopicDataQosPolicy 默认构造时,data_vec为空向量
std::vector<eprosima::fastdds::rtps::octet> vec;
// 向主题数据向量添加两个新的 octet 值
eprosima::fastdds::rtps::octet val = 3;
vec.push_back(val);
val = 10;
vec.push_back(val);
// 使用 setter 函数设置修改后的数据向量
topic_qos.topic_data().data_vec(vec);
// 在创建相应的 Topic 时使用修改后的 QoS
topic_ = participant_->create_topic("<topic_name>", "<type_name>", topic_qos);
总结
TopicDataQosPolicy 提供了一种机制,使得开发者可以为创建的主题附加元数据。这些附加的信息在远程应用程序发现主题时可以被访问和使用,从而提升了系统之间的信息交互能力。在实际开发中,可以根据需求灵活添加各种元数据,以满足特定场景下的信息共享需要。
内容由零声教学AI助手提供,问题来源于学员提问