天天看點

RTI_DDS自定義插件開發 6 監聽者

傳輸插件用于通知傳輸插件中動态更改的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)

由Transport-Plugin執行個體調用的回調函數通知它可以使用的接口數已經改變。

參數
listener_data_in << in >>聽衆資料。
plugin_in << in >>調用此回調的Transport-Plugin執行個體。
interface_changed_in << in >>觸發回調的已更改界面。
MT安全性:
多線程 安全此回調的實作者必須確定它是多線程安全的,以便調用者(傳輸插件執行個體)不必擔心多線程安全問題。

繼續閱讀