这里写目录标题
插件开发两个模块传输插件配置开发语言其他插件开发
RTI Connext DDS通过RTI可插拔传输API (PT API)与底层网络/通信传输进行交互。PT API位于DDS协议(DDS- rtps)层之下的协议栈中。 用于在domainparticipant之间发送和接收所有信息。
在发送端,PT API从DDS完整的RTPS包作为一个字节数组以及包的预期目的地(地址/端口)传递。 在接收端,PT API使用自己的内部传输机制获取这些数据包,并将它们交给上面的DDS-RTPS层。
+----------------------------+| || <Application>|| |+............................+| DDS API|| || <Connext DDS > |+............................+| Pluggable Transport API || || <Transport Implementation> |+----------------------------+
RTI Connext DDS使用PT API来实现捆绑在标准分发版中的所有支持的传输插件,包括UDP/IP、TCP/IP、TLS、DTLS、共享内存等。
应用程序开发人员可以使用PT API开发自定义传输。 定制传输必须用C开发,他们可以链接到最终的应用程序。
PT API的开发文档可以在这里找到。
自定义传输插件开发基于Connext定义好的代码框架,框架主要提供了17个必须实现的回调接口:
所有接口必须实现,其中重点函数包括:
接收接口创建及销毁发送接口创建及销毁数据的发送及接收获取插件名称接收端地址初始化销毁插件
两个模块
完成了以下两个模块,基本上也就完成了插件开发。
插件库模块插件配置模块
传输插件配置
可以通过xml文件的方式配置,也可以通过在代码中进行配置。
<transport_builtin><mask>MASK_NONE</mask></transport_builtin><discovery><initial_peers><element>customTransport://0.0.0.0</element></initial_peers></discovery><property><value><element><name>dds.transport.load_plugins</name><value>dds.transport.customPlugin</value><propagate>0</propagate></element><element><name>dds.transport.customPlugin.library</name><value>custom_transports</value><propagate>0</propagate></element><element><name>dds.transport.customPlugin.create_function</name><value>custom_Transport_xxxx_create</value><propagate>0</propagate></element> <element><name>dds.transport.customPlugin.address</name><value>0.0.0.0</value><propagate>0</propagate></element> <element><name>dds.transport.customPlugin.trace_level</name><value>1</value><propagate>0</propagate></element> </value></property>
开发语言
定制传输必须用C开发。
其他
略。。。