消息收发流程
前言
本文将介绍FastDDS从Writer创建到Reader接收的大致流程,将前面分享的类全部联系起来。首先会对FastDDS架构(官方文档中有详细的描述)做一个简单的介绍,然后结合类图介绍各个类在消息收发中的作用。
FastDDS架构
Application Layer
使用Fast DDS API 在分布式系统中实现通信的用户应用程序。
用户使用DDS层的DataWriter发送消息,DataWriter会将发送的消息序列化到PayloadPool里的一块内存上,然后将Change写入DataWriterHistory。如果发送的消息是plain的(可以直接memory copy的类型),可以loan一块连续的内存,然后将发送的消息直接写入,这样可以减少copy。
Fast DDS Layer
DDS通信中间的实现。允许多个domain,相同domain下的DomainParticipant可以通过发布/订阅来交换消息。
有新的数据写入到Da