nl:: Weave:: WeaveExchangeManager
#include <src/lib/core/WeaveExchangeMgr.h>
這個類別可用於管理與其他 Weave 節點的 ExchangeContexts。
摘要
此 API 可代表較高層、建立 ExchangeContexts,以及處理來路不明訊息處理常式的註冊/取消註冊作業。
建構函式和解構函式 |
|
---|---|
WeaveExchangeManager(void)
WeaveExchangeManager 類別的建構函式。
|
公開類型 |
|
---|---|
State{
|
列舉 |
公開屬性 |
|
---|---|
FabricState
|
[READ ONLY] 相關聯的 FabricState 物件。
|
MessageLayer
|
[READ ONLY] 相關聯的 WeaveMessageLayer 物件。
|
State
|
uint8_t
[READ ONLY] WeaveExchangeManager 物件的狀態。
|
公用函式 |
|
---|---|
AllowUnsolicitedMessages(WeaveConnection *con)
|
void
允許透過指定連線接收來路不明的訊息。
|
ClearMsgCounterSyncReq(uint64_t peerNodeId)
|
void
針對傳送給該對等點的所有待處理訊息清除 MsgCounterSyncReq 標記。
|
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
|
從符合指定參數的集區中找出 ExchangeContext。
|
Init(WeaveMessageLayer *msgLayer)
|
初始化 WeaveExchangeManager 物件。
|
NewBinding(Binding::EventCallback eventCallback, void *appState)
|
Binding *
使用提供的引數分配新的繫結。
|
NewContext(const uint64_t & peerNodeId, void *appState)
|
使用對等節點 ID 指定的指定對等 Weave 節點,建立新的 ExchangeContext。
|
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
|
使用對等節點 ID 和對等 IP 位址指定的指定點 Weave 節點,建立新的 ExchangeContext。
|
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
|
建立新的 ExchangeContext,並根據對等節點 ID、對等 IP 位址和目標通訊埠指定的同業 Weave 節點建立而成。
|
NewContext(WeaveConnection *con, void *appState)
|
針對指定的 WeaveConnection,建立新的 ExchangeContext,並指定同業 Weave 節點。
|
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
|
為指定的設定檔 ID 註冊來路不明的訊息處理常式。
|
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
|
為指定的設定檔 ID 註冊來路不明的訊息處理常式。
|
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
|
為指定的設定檔 ID 和訊息類型註冊來路不明的訊息處理常式。
|
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
|
為指定的設定檔 ID 和訊息類型註冊來路不明的訊息處理常式。
|
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
|
為指定的 Weave 連線上,為指定的設定檔識別碼 (訊息類型) 註冊來路不明的訊息處理常式。
|
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
|
為指定的 Weave 連線上,為指定的設定檔識別碼 (訊息類型) 註冊來路不明的訊息處理常式。
|
Shutdown(void)
|
|
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
|
為特定設定檔 ID 取消註冊來路不明的訊息處理常式。
|
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
|
為特定設定檔 ID 和訊息類型取消註冊來路不明的訊息處理常式。
|
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
|
為特定設定檔 ID、訊息類型和 Weave 連線取消註冊來路不明的訊息處理常式。
|
公開類型
狀態
State
屬性 | |
---|---|
kState_Initialized
|
用來表示 WeaveExchangeManager 已初始化。 |
kState_NotInitialized
|
用於表示 WeaveExchangeManager 未初始化。 |
公開屬性
公用函式
AllowUnsolicitedMessages
void AllowUnsolicitedMessages( WeaveConnection *con )
允許透過指定連線接收來路不明的訊息。
這個方法會根據指定的 Weave 連線設定訊息接收處理常式。
詳細說明 | |||
---|---|---|---|
參數 |
|
ClearMsgCounterSyncReq
void ClearMsgCounterSyncReq( uint64_t peerNodeId )
針對傳送給該對等點的所有待處理訊息清除 MsgCounterSyncReq 標記。
詳細說明 | |||
---|---|---|---|
參數 |
|
FindContext
ExchangeContext * FindContext( uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator )
從符合指定參數的集區中找出 ExchangeContext。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回 |
指向與所提供參數相符的 ExchangeContext 物件指標,若未符合,則為 NULL。
|
Init
WEAVE_ERROR Init( WeaveMessageLayer *msgLayer )
初始化 WeaveExchangeManager 物件。
在這個執行個體的生命週期內,系統會在物件建構完成後叫用此方法,直到呼叫關閉以終止執行個體為止。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
NewBinding
Binding * NewBinding( Binding::EventCallback eventCallback, void *appState )
NewContext
ExchangeContext * NewContext( const uint64_t & peerNodeId, void *appState )
使用對等節點 ID 指定的指定對等 Weave 節點,建立新的 ExchangeContext。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
指向成功建立 ExchangeContext 物件的指標。如果系統無法分配或沒有可用的物件,則為空值。
|
NewContext
ExchangeContext * NewContext( const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState )
使用對等節點 ID 和對等 IP 位址指定的指定點 Weave 節點,建立新的 ExchangeContext。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回 |
指向成功建立 ExchangeContext 物件的指標。否則,如果沒有任何物件無法分配或可供使用,則為空值。
|
NewContext
ExchangeContext * NewContext( const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState )
建立新的 ExchangeContext,並根據對等節點 ID、對等 IP 位址和目標通訊埠指定的同業 Weave 節點建立而成。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回 |
指向成功建立 ExchangeContext 物件的指標。否則,如果沒有任何物件無法分配或可供使用,則為空值。
|
NewContext
ExchangeContext * NewContext( WeaveConnection *con, void *appState )
針對指定的 WeaveConnection,建立新的 ExchangeContext,並指定同業 Weave 節點。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
指向成功建立 ExchangeContext 物件的指標。否則,如果沒有任何物件無法分配或可供使用,則為空值。
|
RegisterUnsolicitedMessageHandler
WEAVE_ERROR RegisterUnsolicitedMessageHandler( uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState )
為指定的設定檔 ID 註冊來路不明的訊息處理常式。
系統會針對指定設定檔的所有訊息叫用這個處理常式。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
RegisterUnsolicitedMessageHandler
WEAVE_ERROR RegisterUnsolicitedMessageHandler( uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState )
為指定的設定檔 ID 註冊來路不明的訊息處理常式。
系統會針對指定設定檔的所有訊息叫用這個處理常式。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
RegisterUnsolicitedMessageHandler
WEAVE_ERROR RegisterUnsolicitedMessageHandler( uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState )
為指定的設定檔 ID 和訊息類型註冊來路不明的訊息處理常式。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
RegisterUnsolicitedMessageHandler
WEAVE_ERROR RegisterUnsolicitedMessageHandler( uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState )
為指定的設定檔 ID 和訊息類型註冊來路不明的訊息處理常式。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
RegisterUnsolicitedMessageHandler
WEAVE_ERROR RegisterUnsolicitedMessageHandler( uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState )
為指定的 Weave 連線上,為指定的設定檔識別碼 (訊息類型) 註冊來路不明的訊息處理常式。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
RegisterUnsolicitedMessageHandler
WEAVE_ERROR RegisterUnsolicitedMessageHandler( uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState )
為指定的 Weave 連線上,為指定的設定檔識別碼 (訊息類型) 註冊來路不明的訊息處理常式。
詳細說明 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
傳回值 |
|
關機
WEAVE_ERROR Shutdown( void )
UnregisterUnsolicitedMessageHandler
WEAVE_ERROR UnregisterUnsolicitedMessageHandler( uint32_t profileId )
為特定設定檔 ID 取消註冊來路不明的訊息處理常式。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
UnregisterUnsolicitedMessageHandler
WEAVE_ERROR UnregisterUnsolicitedMessageHandler( uint32_t profileId, uint8_t msgType )
為特定設定檔 ID 和訊息類型取消註冊來路不明的訊息處理常式。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
UnregisterUnsolicitedMessageHandler
WEAVE_ERROR UnregisterUnsolicitedMessageHandler( uint32_t profileId, uint8_t msgType, WeaveConnection *con )
為特定設定檔 ID、訊息類型和 Weave 連線取消註冊來路不明的訊息處理常式。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
WeaveExchangeManager
WeaveExchangeManager( void )
WeaveExchangeManager 類別的建構函式。
它會將狀態設為 kState_NotInitialized。