传输插件用于通知传输插件中动态更改的NDDS内核的API。
数据结构 |
struct NDDS_Transport_Listener
用于保存由Transport-Plugin实例调用的回调函数的结构,用于通知Transport Plugin状态发生动态变化。
类型定义
typedef void(* NDDS_Transport_Listener_Interface_Changed_Callback )(void * listener_data_in, NDDS_Transport_Plugin * plugin_in, NDDS_Transport_Interface_t * interface_changed_in) 由Transport-Plugin实例调用的回调函数通知它可以使用的接口数已经改变。
详细说明
传输插件用于通知传输插件中动态更改的NDDS内核的API。NDDS将使用Transport Plugin注册一个结构NDDS_Transport_Listener 。 然后,在Transport Plugin状态发生动态变化时,插件应调用结构中的相应函数以通知NDDS该变化。
例如,如果传输插件可以动态检测其管理的接口何时启用/禁用,出现或消失,因为它们在基于IP的传输中可能会在启用/禁用NIC卡或已连接和取消连接时进行,则该插件应允许NDDS知道这已经发生,NDDS有机会使用这些新接口或停止使用丢失的通信接口。
注意:该功能尚未由NDDS内核实施。 也就是说,NDDS核心无法基于Transport Plugin中的动态更改采取操作。 因此它将永远不会向Transport Plugin注册侦听器(2005年3月)。
Typedef文档
typedef void(* NDDS_Transport_Listener_Interface_Changed_Callback)(void * listener_data_in, NDDS_Transport_Plugin * plugin_in,NDDS_Transport_Interface_t * interface_changed_in) |
- 参数
-
listener_data_in << in >>听众数据。 plugin_in << in >>调用此回调的Transport-Plugin实例。 interface_changed_in << in >>触发回调的已更改界面。
- MT安全性:
- 多线程 安全此回调的实现者必须确保它是多线程安全的,以便调用者(传输插件实例)不必担心多线程安全问题。