每个Transport-Plugin实现必须提供的方法

数据结构

结构 NDDS_Transport_PluginImpl

传输插件实现的基类“类”

类型定义

typedef struct NDDS_Transport_PluginImpl NDDS_Transport_Plugin
所有传输的“纯虚拟类”=>所有传输实现都必须实现所有方法,即使它们是虚拟方法。
typedef RTI_INT32(*NDDS_Transport_Send_Fcn )( NDDS_Transport_Plugin * self,const NDDS_Transport_SendResource_t * sendresource_in,const NDDS_Transport_Address_t * dest_address_in,const NDDS_Transport_Port_t dest_port_in,RTI_INT32 transport_priority_in,const NDDS_Transport_Buffer_t buffer_in [],RTI_INT32 buffer_count_in,void * reserved)同步收集发送。 通过先前创建的SendResource将多个缓冲区发送到预先注册的目标。 
typedef RTI_INT32(*   NDDS_Transport_Recv_Fcn_rEA )( NDDS_Transport_Plugin * self, NDDS_Transport_Message_t * message_out,const NDDS_Transport_Buffer_t * buffer_in,const NDDS_Transport_RecvResource_t * recvresource_in,void *reserved)
阻塞接收调用通过传输插件收到的消息。 
typedef void(*    NDDS_Transport_Return_Loaned_Buffer_Fcn_rEA )( NDDS_Transport_Plugin * self,const NDDS_Transport_RecvResource_t * recvresource_in, NDDS_Transport_Message_t * message_in,void *保留)
NDDS用于在receive_rEA()调用中返回由Transport Plugin提供的缓冲区以将接收到的消息传递给NDDS的方法。 
typedef RTI_INT32(*   NDDS_Transport_Unblock_Recv_Fcn_rrEA )( NDDS_Transport_Plugin * self,const NDDS_Transport_RecvResource_t * recvresource_in,void *保留)
由NDDS调用来取消阻塞在receive_rEA()上被阻塞的线程,否则在receive_rEA()被调用时立即返回。 
typedef RTI_INT32(*   NDDS_Transport_Create_RecvResource_Fcn_rrEA )( NDDS_Transport_Plugin * self, NDDS_Transport_RecvResource_t * recvresource_out, NDDS_Transport_Port_t * recv_port_inout,const NDDS_Transport_Address_t * multicast_address_in,RTI_INT32保留)
由NDDS调用以初始化传输插件以接收给定端口和/或多播地址的消息。 返回NDDS使用的特定于传输的数据结构(RecvResource)的句柄以从此插件收集收到的消息。

typedef void(*   NDDS_Transport_Destroy_RecvResource_Fcn_rrEA )( NDDS_Transport_Plugin * self,const NDDS_Transport_RecvResource_t * recvresource_in)
调用以销毁先前使用NDDS_Transport_Create_RecvResource_Fcn_rrEA创建的RecvResource。 
typedef RTI_INT32(*   NDDS_Transport_Share_RecvResource_Fcn_rrEA )( NDDS_Transport_Plugin * self,const NDDS_Transport_RecvResource_t * recvresource_in,const NDDS_Transport_Port_t recv_port_in,const NDDS_Transport_Address_t * multicast_address_in,RTI_INT32保留)
调用以查看是否可以共享现有RecvResource以接收不同端口/多播地址上的消息。 
typedef RTI_INT32(*   NDDS_Transport_Unshare_RecvResource_Fcn_rrEA )( NDDS_Transport_Plugin * self,const NDDS_Transport_RecvResource_t * recvresource_in,const NDDS_Transport_Port_t recv_port_in,const NDDS_Transport_Address_t * multicast_address_in,RTI_INT32保留)
调用以取消共享之前已成功为端口/地址共享的RecvResource。 
typedef RTI_INT32(*   ( NDDS_Transport_Plugin * self, NDDS_Transport_SendResource_t * sendresource_out,const NDDS_Transport_Address_t * dest_address_in,const NDDS_Transport_Port_t dest_port_in,RTI_INT32 transport_priority_in)
由NDDS调用以初始化传输插件,将消息发送到由传入的地址/端口定义的目标。 返回NDDS使用的传输特定数据结构(SendResource)用于使用此插件发送消息的句柄。

typedef void(*   NDDS_Transport_Destroy_SendResource_Fcn_srEA )( NDDS_Transport_Plugin * self,const NDDS_Transport_SendResource_t * sendresource_in)
调用以销毁先前使用NDDS_Transport_Create_SendResource_Fcn_srEA创建的SendResource。

typedef RTI_INT32(*  ( NDDS_Transport_Plugin * self,const NDDS_Transport_SendResource_t * sendresource_in,const NDDS_Transport_Address_t * dest_address_in,const NDDS_Transport_Port_t dest_port_in,RTI_INT32 transport_priority_in)
调用以查看是否可以共享现有的SendResource以将消息发送到不同的目标(地址/端口)。 
typedef const char *(*    NDDS_Transport_Get_Class_Name_Fcn_cEA )( NDDS_Transport_Plugin * self)
返回传输的字符串类名称。 
typedef RTI_INT32(*   NDDS_Transport_Unshare_SendResource_Fcn_srEA )( NDDS_Transport_Plugin * self,const NDDS_Transport_SendResource_t * sendresource_in,const NDDS_Transport_Address_t * dest_address_in,const NDDS_Transport_Port_t dest_port_in,RTI_INT32 transport_priority_in)
被调用以取消共享之前已成功为地址/端口共享的SendResource。 
typedef RTI_INT32(*   NDDS_Transport_String_To_Address_Fcn_cEA )( NDDS_Transport_Plugin * self, NDDS_Transport_Address_t * address_out,const char * address_in)
调用将地址的Transport-Plugin特定字符串表示形式转换为IPv6地址表示形式。 
typedef RTI_INT32(*   NDDS_Transport_Get_Receive_Interfaces_Fcn_cEA )( NDDS_Transport_Plugin * self,RTI_INT32 * found_more_than_provided_for_out,RTI_INT32 * interface_reported_count_out, NDDS_Transport_Interface_t interface_array_inout [],RTI_INT32 interface_array_size_in)
被调用来检索可用于通过此传输插件接收消息的接口列表。 
typedef RTI_INT32(*   NDDS_Transport_Register_Listener_Fcn_cEA )( NDDS_Transport_Plugin * self, NDDS_Transport_Listener * listener_in)
由NDDS调用来注册一组回调函数,它应在传输插件实例检测到其状态中的特定动态更改时调用。 
typedef void(*    NDDS_Transport_Delete_Fcn_cEA )( NDDS_Transport_Plugin * self,void * reserved)
用于删除传输插件实例的方法。

RTI_DDS自定义插件开发 6 方法相关推荐

  1. MapGIS K9三维TDE平台插件开发调试方法

    记得之前小编我发过两篇文章,是关于MapGIS K9三维TDE平台插件开发环境配置 和MapGIS K9三维TDE平台插件开发第一个插件程序,不知道是否有读者按照我的方法去做了尝试,不过后来小编翻看邮 ...

  2. dede php 调用自定义字段,在dedecms搜索结果列表页调用自定义字段的方法(绝对可用)...

    关于在dedecms搜索结果列表页调用自定义字段的方法比较多有些教程都写得比较含糊,经过织梦者的测试今天推荐一个比较有效的方法给大家,方法是从网络中搜到的,但是绝对可用 打开 include/exte ...

  3. 绝地求生自定义服务器租用,绝地求生自定义服务器怎么开 自定义服务器设置方法...

    绝地求生自定义服务器怎么开呢?自定义服务器已经开启设置了,玩家们可以已自己的方式享受游戏,但一些玩家还不知道自定义服务器设置方法,那下面就来看下吧. 自定义服务器玩法介绍 当创建自己的自定义游戏时,你 ...

  4. 织梦php调用字段,织梦dedecms搜索页调用自定义字段的方法

    这篇文章主要为大家详细介绍了织梦dedecms搜索页调用自定义字段的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 织梦dedecms搜索页调用自定义字段的 ...

  5. simulink自定义信号源方法matlab数据导入sim

    simulink自定义信号源 方法: https://jingyan.baidu.com/article/e6c8503c7abdb2e54f1a18a0.html https://jingyan.b ...

  6. JS 创建自定义对象的方法

    工厂模式 优点:接受参数,可以无数次的调用这个函数,创建Person对象,而每次他都可以返回一个包含三个属性一个方法的对象. 缺点:虽然解决了创建多个相似对象的问题,但是没有解决对象识别的问题(即怎么 ...

  7. golang 导入自定义包_goLang引入自定义包的方法

    看完golang的基本语法后,为了模块化编程,试用了下golang的包管理,结果真踩了几个坑,总结一下吧. 一. 设置$GOPATH环境变量 golang和C或php不一样,不会自动查找当前路径下的文 ...

  8. android 中Dialog对话框及自定义Dialog的方法

    // 重写方法,让他返回Dialog.// 以下是优化代码的替换,只创建一次,每次点击使用showDialog()的方法,不用每次都创建新的,可以减少内存使用@Overrideprotected Di ...

  9. pccad自定义图框_(PCCAD自定义标题栏详细方法.doc

    PCCAD2011自定义标题栏详细方法 下面以图3-1为例说明标题栏的自定义过程. 图3-1 1.新建文件(用New 命令). 2.用绘图和文字中的相关命令设计出图3-1所示的图形.其中在使用中不变的 ...

  10. wamp2 php配置,wamp安装后自定义配置的方法

    WampServer是目前应用非常广泛的PHP集成开发环境,本文就来讲述Wamp安装后自定义配置的方法.供大家参考借鉴.具体如下: wamp2.5安装完毕后,自己手动重新设置了apache的默认根目录 ...

最新文章

  1. IEEE最新薪资报告 | 手机开发者年入153万,机器学习并非最高(附链接)
  2. (0092)iOS开发AVAudioRecorder录制音频
  3. mysql binlog 回退_MYSQL Binglog分析利器:binlog2sql使用详解
  4. AS工程下gradle各文件(gradle.propertie等)与gradle配置(缓存等)讲述
  5. Dead Pixel CodeForces - 1315A(思维)
  6. Jeecg-Boot使用war包在Tomcat中部署之参考教程
  7. Leetcode每日一题:9.palindrome-number(回文数)
  8. 如何将namedtuples序列化为JSON
  9. keras-yolov3 + Kalman-Filter 进行人体多目标追踪(含代码)
  10. 单龙芯3A3000-7A1000PMON研究学习-(2)搭建交叉编译环境
  11. 怎么做好饮料代理?如何发展市场
  12. Sicily 2014 Dairy Queen
  13. python 地形图_Python-Evoked地形图可视化
  14. Python每日一练-----整数转罗马数字
  15. 英语常用缩写(Abbreviations) ---一般常用缩写
  16. 查题公众号搭建详细教程,提供永久免费接口
  17. 【渝粤题库】广东开放大学 跨文化交际学 形成性考核
  18. 公众号如何靠互推涨粉
  19. 网间进程的标识和端口分配机制
  20. 2022 春招面试,mysql 自增主键最大值

热门文章

  1. oracle 百分位数,oracle分析函数 percent_rank, percentile_cont, percentile_disc
  2. ecshop index.php,]ECSHOP 源码分析(install/index.php1)
  3. 超实用的PDF论文修改技巧
  4. funcode黄金矿工(提高篇)
  5. sp3 win xp 符号表_[转载]Windows XP with SP3 各版本全搞定(附序列
  6. python反编译学习之字节码详解
  7. php 天气小偷程序,天气小偷程序,自动采集信息入库
  8. IPVS之Bypass转发模式
  9. 汽车电子测试-软件测试
  10. Unity3D lable控件