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

相关推荐
Mico186 小时前
MySQL 8.0.35 源码编译安装笔记
数据库·笔记·mysql
meilindehuzi_a6 小时前
浏览器端 HTTP 流式通信详解:从 SSE 到 EventSource、fetch 与 ReadableStream
网络·网络协议·http
脱胎换骨-军哥6 小时前
C++ 与 Go 生成质量比拼,谁是分布式主力语言
c++·分布式·golang
快乐星空Maker6 小时前
C++【生存游戏】开发:荒岛往事 第三期
开发语言·c++·游戏·编程语言
郝学胜-神的一滴6 小时前
Qt 高级编程 035:无边框窗口阴影以及圆角双特效实现
开发语言·c++·qt·程序人生·用户界面
AA陈超6 小时前
006 T03 — 蓝图操作指南
c++·游戏·架构·ue5·github·虚幻引擎
小保CPP6 小时前
OCR C++ Tesseract从OpenCV中获取图片
c++·人工智能·opencv·ocr·模式识别·光学字符识别
数据知道6 小时前
SDN 与软件定义网络的安全边界在哪里?
网络·安全·网络安全
REDcker7 小时前
用 eBPF 观测 SSL/TLS 明文:原理、钩点与边界
网络·网络协议·ssl