fastdds笔记

1WriteParam

3个参数:

(1)source_timestamp:写时的时间戳,与时间有关的qos,比如deadline等,会使用这个时间戳,用户可以设置source_timestamp,write的时候通过FASTDDS_EXPORTED_API ReturnCode_t write(const void* const data,fastdds::rtps::WriteParams& params)来写。

data reader可以通过SampleInfo获取source_timestamp。在接收侧也会设置reception_timestamp,用户可以基于两个事件做传输统计,打印日志等。

(2)sample_identity,data writer的guid和序列号,这个属性,用户不可以配置,即使用户设置了属性,在dds内部也会被覆盖。

(3)related_sample_identity,在method调用时可能会用到。

++m_lastCacheChangeSeqNum;

a_change->sequenceNumber = m_lastCacheChangeSeqNum;

if (wparams.source_timestamp().seconds() < 0)

{

Time_t::now(a_change->sourceTimestamp);

}

else

{

a_change->sourceTimestamp = wparams.source_timestamp();

}

a_change->writer_info.num_sent_submessages = 0;

a_change->write_params = wparams;

// Updated sample and related sample identities on the user's write params

wparams.sample_identity().writer_guid(a_change->writerGUID);

wparams.sample_identity().sequence_number(a_change->sequenceNumber);

wparams.related_sample_identity(wparams.sample_identity());

set_fragments(a_change);

source timestap,writer sequnce number,guid prefix和entity id组成guid。在报文中的位置如上图所示。

相关推荐
汉克老师18 分钟前
CSP-J 2026 初赛试题解析(第一部分:选择题(8-15))精讲
c++·csp-j·小学生·学c++编程
安易算力30 分钟前
PUE优化工程实践:从1.5到1.2的制冷架构与气流组织改造路径
网络·python·容器·架构·kubernetes
wabs6661 小时前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
hanlin031 小时前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
Ivanqhz1 小时前
数据搬运是性能关键
java·服务器·网络·人工智能·深度学习
自不量力的A同学2 小时前
开源一站式智能终端 uniTerm v1.9.4 发布
笔记
Julien20042 小时前
自动挂载网络附加存储
linux·服务器·网络
风合星语2 小时前
2026 ROS 2 Lyrical C++ 入门(五):Action 实战——任务反馈、取消与超时处理
c++·机器人·ros2·异步编程·lyrical
K成长日志2 小时前
BLE链路层-隐私保护
网络·物联网·蓝牙·iot·ble
K成长日志2 小时前
BLE链路层-Feature Support
网络·嵌入式·无线通信·蓝牙·iot·ble