nl:: Weave:: WeaveExchangeManager
#include <src/lib/core/WeaveExchangeMgr.h>
這個類別可用於管理具有其他 Weave 節點的 ExchangeContext。
摘要
這項技術可代表較高層、建立 ExchangeContexts 以及處理來路不明訊息處理常式的註冊/取消註冊作業。
建構函式和解構函式 |
|
---|---|
WeaveExchangeManager(void)
WeaveExchangeManager 類別的建構函式。
|
公開類型 |
|
---|---|
State{
|
列舉 |
公開屬性 |
|
---|---|
FabricState
|
[READ ONLY] 相關聯的 FabricState 物件。
|
MessageLayer
|
[READ ONLY] 相關聯的 WeaveMessageLayer 物件。
|
State
|
uint8_t
[唯讀] 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)
|
建立新的 ExchangeContext,並使用對等互連節點 ID 和對等點 IP 位址指定的特定對等互連 Weave 節點。
|
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,建立具有指定對等點 Weave 節點的新 ExchangeContext。
|
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 物件的指標。否則,如果沒有可以分配或可用的物件,則傳回 NULL。
|
NewContext
ExchangeContext * NewContext( const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState )
建立新的 ExchangeContext,並使用對等互連節點 ID 和對等點 IP 位址指定的特定對等互連 Weave 節點。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回 |
建立成功 ExchangeContext 物件的指標。否則,如果沒有可以分配或可用的物件,則為 NULL。
|
NewContext
ExchangeContext * NewContext( const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState )
建立新的 ExchangeContext,並在指定介面中使用對等互連節點 ID、對等互連 IP 位址和目標通訊埠指定的特定對等互連 Weave 節點。
詳細資料 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回 |
建立成功 ExchangeContext 物件的指標。否則,如果沒有可以分配或可用的物件,則為 NULL。
|
NewContext
ExchangeContext * NewContext( WeaveConnection *con, void *appState )
根據指定的 WeaveConnection,建立具有指定對等點 Weave 節點的新 ExchangeContext。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
建立成功 ExchangeContext 物件的指標。否則,如果沒有可以分配或可用的物件,則為 NULL。
|
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。