这段文本描述的是一个示例应用程序的架构,该应用程序使用数据分发服务(DDS)进行通信。以下是各个部分的解释:
应用程序结构:
- 每个示例应用程序(发布者、订阅者和发布-订阅模式)都会根据需要创建所需的DDS实体。
- 应用程序继承相应的监听器类,并重写与每个事件相关联的监听器方法。
- 当事件发生时,回调方法会被触发。
贷款API:
- 示例使用了贷款API来执行读取和写入调用,这在
on_data_available()
和publish()
方法中得以体现。
- 示例使用了贷款API来执行读取和写入调用,这在
传输机制配置:
配置考虑了所有可能的交付机制,可以通过
-m
或--mechanism
标志进行设置,后面跟随以下选项之一:data-sharing
: 实例化共享内存传输,但使用数据共享交付在内存段中写入。intra-process
: 在参与者的数据读取器和数据写入器之间共享负载池。此选项仅在端点属于同一参与者和同一进程时可用,因此只能由PubSub应用程序使用。large-data
: 实例化UDPv4多播传输以执行PDP发现阶段,以及TCPv4和SHM传输以进行用户数据通信。Fast DDS优先选择SHM而不是TCP(如果可能的话)。SHM
: 实例化共享内存传输。TCPv4
: 实例化IPv4的TCP传输。TCPv6
: 实例化IPv6的TCP传输。UDPv4
: 实例化IPv4的UDP传输。UDPv6
: 实例化IPv6的UDP传输。
默认配置:
- 如果未配置,默认交付机制将是默认内置传输:实例化UDPv4和SHM传输,Fast DDS在可能情况下优先选择SHM而不是UDP。
查询帮助信息:
- 可以通过运行可执行文件并加上
-h
或--help
参数来查询所有可用参数的信息。
- 可以通过运行可执行文件并加上
注意事项:
- 此示例类型已被特意配置为普通、有限制且具有“最终”可扩展性,以满足所有交付机制约束条件。
总之,这段文本提供了有关如何利用DDS构建各种通信模式及其对应交付机制配置的信息。
内容由零声教学AI助手提供,问题来源于学员提问