关键字:OMG,RTPS,DDS
The Real-time Publish-Subscribe Protocol (RTPS) DDS Interoperability Wire Protocol Specification,Version 2.2,September 2014
8.3.5 RTPS SubmessageElements
每个RTPS消息包含可变数量的RTPS子消息。每个RTPS Submessage依次由一组名为SubmessageElements的预定义原子构建块构建。RTPS 2.1定义以下Submessage元素:GuidPrefix,EntityId,SequenceNumber,SequenceNumberSet,FragmentNumber,FragmentNumberSet,VendorId,ProtocolVersion,LocatorList,Timestamp,Count,SerializedData和ParameterList。

图 8-12 - RTPS SubmessageElements
8.3.5.1 GuidPrefix和EntityId
这些SubmessageElements用于封装Submessages中GUID_t(在第8.2.4.1节中定义)的GuidPrefix_t和EntityId_t部分。
表8.17 - GuidPrefix SubmessageElement的结构

表8-18 - GuidPrefix SubmessageElement的结构

8.3.5.2 VendorId
VendorId标识实现RTPS协议的中间件的供应商,并允许该供应商添加协议的特定扩展。供应商ID不是指包含DDS中间件的设备或产品的供应商。
表8.18 - GuidPrefix SubmessageElement的结构

协议保留以下值:
VENDORID_UNKNOWN
其他值必须由OMG分配。
8.3.5.3 ProtocolVersion
ProtocolVersion定义了RTPS协议的版本。
表8.20 - ProtocolVersion SubmessageElement的结构

RTPS协议版本2.1定义了以下特殊值:
PROTOCOLVERSION_1_0
PROTOCOLVERSION_1_1
PROTOCOLVERSION_2_0
PROTOCOLVERSION_2_1
PROTOCOLVERSION
8.3.5.4 SequenceNumber
序列号是64位有符号整数,可以取以下范围内的值:-2 ^ 63 <= N <= 2 ^ 63-1。选择64位作为序列号的表示可确保序列号永不包裹。序号从1开始。
表8.21 - SequenceNumber SubmessageElement的结构

该协议保留以下值:
SEQUENCENUMBER_UNKNOWN
8.3.5.5 SequenceNumberSet
SequenceNumberSet SubmessageElements用作多个消息的一部分,以提供有关某个范围内各个序列号的二进制信息。SequenceNumberSet中表示的序列号被限制为属于范围不大于256的区间。换句话说,有效的SequenceNumberSet必须验证:
maximum(SequenceNumberSet) - minimum(SequenceNumberSet)<256
minimum(SequenceNumberSet)> = 1
上述限制允许使用以高效且紧凑的位图方式表SequenceNumberSet。SequenceNumberSet SubmessageElements可用于有选择地请求重新发送一组序列号。
表8.22 - SequenceNumberSet SubmessageElement的结构

8.3.5.6 FragmentNumber
片段号是32位无符号整数,Submessages使用它来识别片段化序列化数据中的特定片段。片段编号从1开始。
表8.23 - FragmentNumber SubmessageElement的结构

译文连载
RTPS规范-上一篇:实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_008
RTPS规范-下一篇:实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_010
DDS规范-译文连载:DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001
相关链接
【1-What:什么是DDS? 】
【2-Why:为什么选择DDS? 】
【3-How:DDS如何工作?】
DDS科普:一文读懂DDS(数据分发服务)
产品介绍:BLUE DCS分布式数据连接解决方案
产品试用: 海蓝云平台-Blue DCS

本文详细介绍了RTPS(实时发布订阅协议)的子消息元素,包括GuidPrefix、EntityId、VendorId、ProtocolVersion、SequenceNumber、SequenceNumberSet和FragmentNumber等关键概念,阐述了它们在DDS(数据分发服务)中的作用和结构,帮助理解RTPS协议的版本和互操作性。
3020

被折叠的 条评论
为什么被折叠?



