3.1.2.1.21 UserDataQosPolicy
UserDataQosPolicy 允许应用程序在实体对象上附加额外的信息,以便在发现该实体时,远程应用程序能够访问并使用这些数据。例如,它可以用于附加安全凭据,以验证来自远程应用程序的源。
QoS策略数据成员列表:
数据成员名称 | 类型 | 默认值 |
---|---|---|
collection | std::vector |
空向量 |
注意: 此QoS策略适用于 DomainParticipant、DataWriter 和 DataReader 实体。可以在启用的实体上进行更改。
示例
// 此示例使用 DataWriter,但也可以适用于 DomainParticipant 和 DataReader 实体
DataWriterQos writer_qos;
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 函数设置修改后的用户数据向量
writer_qos.user_data().data_vec(vec);
// 在创建相应实体时使用修改后的 QoS
writer_ = publisher_->create_datawriter(topic_, writer_qos);
总结
UserDataQosPolicy 提供了一种机制,使得开发者能够为不同的实体(如 DomainParticipant、DataWriter 和 DataReader)附加元数据。这些信息在远程应用程序发现该实体时可以被访问和使用,从而增强了系统之间的信息交互能力。在实际开发中,这种政策可以用于传递诸如安全凭证等重要信息,提高系统的安全性与可靠性。通过灵活配置,可以满足特定场景下的数据共享和身份验证需求。
内容由零声教学AI助手提供,问题来源于学员提问