NL::編織::簡介:: DataManagement_Legacy:: DM客戶端
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
特定於應用程序的 WDM 客戶端的抽象基類。
概括
DMClient是標準的WDM客戶端。該實現可選地包括訂閱/通知。這是DM的混合ProtocolEngine類,它負責處理通訊科曲柄轉動,並且完全抽象ClientDataManager類,有一些實施這樣的訂閱相關的方法,即高層沒有關於他們的後顧之憂。
訂閱相關的任務的處理程序主要是作為一個薄適配器在ClientNotifier對象。子類實現者應該注意調用相關的超類方法,以啟動訂閱管理器。
DMClient請求方法通常具有2的簽名,一個有明確的目的節點ID,而另一個具有一個指定的目的地。在任何一種情況下,向發布者發送消息的能力取決於客戶端中預先存在的綁定,但在第一種情況下,目標 ID 旨在在多個綁定目標之間進行選擇,在第二種情況下,第一個默認選擇綁定表中的項目。這很有用,例如,如果客戶端將永遠只綁定到一個發布者。
遺產
繼承自:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
構造函數和析構函數 | |
---|---|
DMClient (void) 默認的構造函數DMClient對象。 | |
~DMClient (void) 析構函數DMClient對象。 |
ViewRequest (const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout) | virtual WEAVE_ERROR 請求查看已發布的數據。 |
ViewRequest ( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout) | virtual WEAVE_ERROR 請求查看默認發布者的數據。 |
UpdateRequest (const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout) | virtual WEAVE_ERROR 請求更新已發布的數據。 |
UpdateRequest ( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout) | virtual WEAVE_ERROR 請求更新默認發布者上的數據。 |
受保護的屬性 | |
---|---|
mUpdatePool [kUpdatePoolSize] | |
mViewPool [kViewPoolSize] |
公共職能 | |
---|---|
CancelTransactionRequest (uint16_t aTxnId, WEAVE_ERROR aError) | 請求取消正在執行的事務。 |
Clear (void) | virtual void 清除與一個相關聯的內部狀態DMClient對象。 |
Finalize (void) | virtual void 關閉操作DMClient 。 |
IncompleteIndication ( Binding *aBinding, StatusReport & aReport) | virtual void 處理客戶端使用的綁定的“未完成”。 |
受保護的功能 | |
---|---|
NewUpdate (void) | Update * |
NewView (void) | View * |
查看請求
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
請求查看已發布的數據。
請求查看駐留在指定遠程發布者上並由其管理的數據。
細節 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
| ||||||||
返回值 |
| ||||||||
退貨 | 否則, WEAVE_ERROR反映未能初始化或啟動交易。 |
查看請求
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
請求查看默認發布者的數據。
請求駐留在“默認”發布者上並由其管理的數據視圖,即客戶端綁定表中的第一個(或唯一)發布者。
細節 | |||||||
---|---|---|---|---|---|---|---|
參數 |
| ||||||
返回值 |
| ||||||
退貨 | 否則, WEAVE_ERROR反映未能初始化或啟動交易。 |
更新請求
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
請求更新已發布的數據。
請求遠程發布者更新管理下的數據。
細節 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
| ||||||||
退貨 |
更新請求
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
請求更新默認發布者上的數據。
請求遠程發布者更新管理下的數據。此版本將請求定向到作為客戶端默認綁定目標的發布者。
細節 | |||||||
---|---|---|---|---|---|---|---|
參數 |
| ||||||
退貨 |
受保護的屬性
更新池
Update mUpdatePool[kUpdatePoolSize]
視圖池
View mViewPool[kViewPoolSize]
公共職能
取消交易請求
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
請求取消正在執行的事務。
此方法不會產生網絡流量,而只是釋放為指定事務分配的資源
細節 | |||||
---|---|---|---|---|---|
參數 |
| ||||
退貨 | WEAVE_NO_ERROR成功或WEAVE_ERROR反映故障取消交易。 |
清除
virtual void Clear( void )
清除與一個相關聯的內部狀態DMClient對象。
特別是,此方法會清除所有客戶端事務池。對於已經在使用客戶端的Finalize()方法是優選的,因為它也取消訂閱和清理交易和綁定表。
也可以看看:完成()
敲定
virtual void Finalize( void )
指示不全
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
處理客戶端使用的綁定的“未完成”。
當綁定意外失敗時,例如,如果綁定中涉及的連接已關閉,則調用此方法。
細節 | |||||
---|---|---|---|---|---|
參數 |
|
受保護的功能
新更新
Update * NewUpdate( void )
新視圖
View * NewView( void )