DDS 协议详解

RTPS

Message module


header

submessage_header


infosource

inforeply

infodestination

infotimestamp


heartbeat

heartbeatfrag


nackfrag

acknack


datafrag

data


gap



Qos

user_data,字符串类型,用于传递一些信息(比如网络绑定的 service name 等),用于 domain,participant,datareader 和 datawriter

topic_data,字符串类型,用于传递一些信息,用于 topic

group_data,字符串类型,用于传递一些信息,用于 publisher 和 subscriber

durability,枚举类型,表示是否需要对收到的 change 进行 cache,可选值有 volatile(不 cache),transient_local,transient(在内存 cache) 和 persistent(持久化存储),用于 topic,datareader 和 datawriter

Deadline,数值类型,表示 endpoint 预期在一定的时间内需要收到对端的消息,如果没有收到,就会调用 onrequesteddeadlinemissed(周期性)

latency_budget,数值类型,表示 writer 的消息,到 reader,允许的最大时延(如果超过了,会怎样,规范没有说)

Ownership,表示是否允许多个 writer 写入同一个 topic,同时多个 writer 有优先级的区分

liveliness,保活机制,表示是在哪些范畴之间的


 上一篇
FastDds 库使用及详解 FastDds 库使用及详解
Recv message消息流 类之间的交互
2026-01-06
下一篇 
Spdlog 库使用及详解 Spdlog 库使用及详解
前置知识 函数 fwrite 是 glibc 封装的一层有关 write 的接口,会在应用层再创建一个缓冲的 buffer,当调用的 fwrite 到一定的数量时,才会调用一次操作系统原生的 write。也因此有了函数 fflush,将这个
2025-08-21
  目录