RTI_DDS自定义插件开发 9 API NDDS_Transport_Unshare_RecvResource_Fcn_rrEA

由NDDS调用以初始化传输插件,将消息发送到由传入的地址/端口定义的目标。返回一个传输插件定义(transport-specific)的数据结构(SendResource)的句柄,NDDS它来发送消息。

当这个方法被调用时,NDDS期望传输插件准备通过它的接口发送消息,通过作为参数传递的地址和端口定义的特定目标。所以Transport Plugin必须做它需要做的事情来初始化特定传输硬件/软件的发送端。如果地址/端口是传输插件无法到达的目的地,则此调用应该无法创建SendResource。

transport-plugin实现者可以将SendResource想象为插件的send()函数将数据发送到address / port / transport_priority组合所需的所有数据/结构的集合。这个函数应该创建这些数据结构,然后初始化Transport Plugin来完成。

对于基于物理传输的传输插件,在发送数据之前需要在发送和接收应用程序之间建立连接,如果接收端尚未准备好接受连接,则此调用应返回部分初始化的SendResource。对于这些传输,如果在该方法中没有成功建立连接,应该检查SendResource的连接状态并在send()调用中完成。有关更多讨论,请参阅在接​​收器初始化之前发送面向连接的传输。

sendresource_out参数是传输插件为NDDS提供处理信息(数据结构)的一种方式,NDDS在需要将消息发送到插件时需要将其传递回传输插件。数据结构中的内容将针对每个传输 - 插件实现而特定。

transport_priority_in参数在DDS级别配置,DataWriter的QoS,当需要为DataWriter创建SendResource时,由NDDS传递到Transport Plugin。 transport_priority_in的值如何被Transport Plugin解释或使用,将针对每个实现而特定。大多数实现将完全忽略该值

其他人可以使用该值来设置服务的质量或等级(QoS,CoS),以便由该插件发送到特定目的地的消息将具有更高或更低的优先级。

前提
dest_address_in不是NULL。
dest_port_in不是NDDS_TRANSPORT_PORT_INVALID。
后置条件
如果返回1,NDDS可以使用返回的的SendResource在插件的send()调用中来发送消息。
如果返回0,则传输已确定它不能发送到给定的目标,并且没有创建SendResource。
参数
self << in >>指向Transport Plugin实例的指针。
sendresource_out << out >>通过此调用创建的SendResource将通过此参数返回。
dest_address_in << in >>将发送消息的接口的目标地址。
dest_port_in << in >>目标端口。
transport_priority_in << in >>在DataWriter中配置并在不修改传输插件的情况下通过NDDS传递的值。
返回
1成功
否则为0。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道格拉斯范朋克

播种花生牛奶自留田

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值