为了最大程度利用eProsima Fast RTPS,理解库中的对象和数据结构相当重要。eProsima Fast RTPS被模块化分类,在这一部分简单介绍。对于所有的内容,请看API接口文档。
Publisher-Subscriber模块
这个模块组成Publisher-Subscriber抽象。这里的概念比RTPS标准的层次更高。
- Domain,创建、管理、销毁 高层参与者
- Participant,包含Publishers和Subcribers,并管理它们的配置。
-
ParticipantAttributes用于创建参与者的配置参数。
-
ParticipantListener允许您在Participant范围内实现回调
- Publisher以主题更改的形式发送(发布)数据
-
PublisherAttributes构建Publisher的配置参数。
-
PublisherListener允许您在Publisher范围内实现回调
- Subscriber从其订阅的主题中接收数据
-
SubscriberAttributes构建Subscriber的配置参数。
-
SubscriberListener允许您在Subscriber范围内实现回调
RTPS模块
该模块直接映射到RTPS标准中定义的思想,并允许您直接与RTPS实体交互。其包含一些子模块:
RTPS通用
- CacheChange_t,表示要存储在历史记录缓存中的主题更改。
- Data,与缓存更改关联的有效负载。依赖的消息和更改类型,可能为空。
- Message,定义RTPS消息的组织。
- Header,标准头文件,将消息标识为属于RTPS协议,并包括vendor ID。
- Sub-Message Header,标记为RTPS子消息。一个RTPS消息可以由多个子消息组成。
- MessageReceiver,反序列化并处理收到的RTPS消息。
- RTPSMessageCreator,编写RTPS消息。
RTPS域
- RTPSDomain,创建、管理、销毁 低层次RTPS参与者
- RTPSParticipant,包含Writers and Readers,并管理它们的配置。
-
RTPSParticipantAttributes,配置参数
-
PDPSimple,允许参与者,通过参与者发现协议,发现网络中其他参与者。
-
EDPSimple,允许参与者,通过端发现协议,发现网络中在其他参与者中的端(RTPS写和读端)
-
EDPStatic,从用户文件中读取有关远程端点的信息
-
TimedEvent,定期或定时事件的基类。
RTPS读
- RTPSReader,读端点的基类。
-
ReaderAttributes,配置参数
-
ReaderHistory,历史数据结构。存储最近的主题更改。
-
ReaderListener,用它来定义Reader范围内的回调。
RTPS写
- RTPSWriter,写端点的基类。
-
WriterAttributes,参数配置
-
WriterHistory,历史数据结构。存储传出的主题更改并安排它们发送。