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。在报文中的位置如上图所示。

相关推荐
·薯条大王5 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
weixin_446260858 小时前
从被动镜像到主动智能体:面向网络物理人工智能的整体论数字孪生(HDT-Net)
网络·人工智能
ZJH__GO8 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
hansang_IR10 小时前
【题解】LC:倍增 / 区间并查集(Range Parallel Unionfind)
c++·算法·并查集
东东最爱敲键盘10 小时前
day7.c++继承
c++
今儿敲了吗10 小时前
CO——CPU
笔记
今儿敲了吗10 小时前
Python ——第三方包
笔记·python
shengnan_wsn10 小时前
【协议】【TCP】
网络·网络协议·tcp/ip
烟雨江南78510 小时前
2026汽车制造与新能源整车柔性产线Agentic-Workflow白皮书:跨APS_MES_ERP多智能体动态排产与装配容错实战
大数据·网络·人工智能·自动化·ai客服·企业agent
沫璃染墨10 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++