透過集合功能整理內容 你可以依據偏好儲存及分類內容。

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)
NewView (void)
View *

查看請求

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

請求查看已發布的數據。

請求查看駐留在指定遠程發布者上並由其管理的數據。

細節
參數
[in] aDestinationId
對遠程發布者的 64 位節點 ID 的引用。
[in] aPathList
甲參照ReferencedTLVData包含指示所請求的數據的TLV編碼的路徑列表對象。
[in] aTxnId
為管理此視圖操作而設置的 WDM 事務的標識符。
[in] aTimeout
等待視圖響應的最長時間(以毫秒為單位)。
返回值
WEAVE_NO_ERROR
關於成功。
WEAVE_ERROR_NO_MEMORY
如果無法分配事務。
退貨
否則, WEAVE_ERROR反映未能初始化或啟動交易。

查看請求

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

請求查看默認發布者的數據。

請求駐留在“默認”發布者上並由其管理的數據視圖,即客戶端綁定表中的第一個(或唯一)發布者。

細節
參數
[in] aPathList
甲參照ReferencedTLVData包含指示所請求的數據的TLV編碼的路徑列表對象。
[in] aTxnId
為管理此視圖操作而設置的 WDM 事務的標識符。
[in] aTimeout
等待視圖響應的最長時間(以毫秒為單位)。
返回值
WEAVE_NO_ERROR
關於成功。
WEAVE_ERROR_NO_MEMORY
如果無法分配事務。
退貨
否則, WEAVE_ERROR反映未能初始化或啟動交易。

更新請求

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

請求更新已發布的數據。

請求遠程發布者更新管理下的數據。

細節
參數
[in] aDestinationId
對將請求發送到的遠程發布者的 64 位節點 ID 的引用。
[in] aDataList
甲參照ReferencedTLVData包含含有所述更新包括更新是要應用的路徑的表示的TLV編碼的數據列表對象。
[in] aTxnId
為管理更新請求而設置的事務的標識符。
[in] aTimeout
等待相應狀態報告的最長時間(以毫秒為單位)。
退貨
WEAVE_NO_ERROR成功或WEAVE_ERROR_NO_MEMORY如果更新事務不能進行分配。否則,返回WEAVE_ERROR反映更新失敗。

更新請求

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

請求更新默認發布者上的數據。

請求遠程發布者更新管理下的數據。此版本將請求定向到作為客戶端默認綁定目標的發布者。

細節
參數
[in] aDataList
甲參照ReferencedTLVData包含含有所述更新包括更新是要應用的路徑的表示的TLV編碼的數據列表對象。
[in] aTxnId
為管理更新請求而設置的事務標識符。
[in] aTimeout
等待相應狀態報告的最長時間(以毫秒為單位)。
退貨
WEAVE_NO_ERROR成功或WEAVE_ERROR_NO_MEMORY如果更新事務不能進行分配。否則,返回WEAVE_ERROR反映更新失敗。

受保護的屬性

更新池

Update mUpdatePool[kUpdatePoolSize]

視圖池

View mViewPool[kViewPoolSize]

公共職能

取消交易請求

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

請求取消正在執行的事務。

此方法不會產生網絡流量,而只是釋放為指定事務分配的資源

細節
參數
[in] aTxnId
要取消的交易編號。如果提供了 kTransactionIdNotSpecified,則所有交易都將被取消。
[in] aError
WEAVE_ERROR以取消交易時報告。
退貨
WEAVE_NO_ERROR成功或WEAVE_ERROR反映故障取消交易。

清除

virtual void Clear(
  void
)

清除與一個相關聯的內部狀態DMClient對象。

特別是,此方法會清除所有客戶端事務池。對於已經在使用客戶端的Finalize()方法是優選的,因為它也取消訂閱和清理交易和綁定表。

也可以看看:
完成()

DM客戶端

 DMClient(
  void
)

默認的構造函數DMClient對象。

清除所有內部狀態。一個DMClient需要使用init()在使用前進一步的初始化。

敲定

virtual void Finalize(
  void
)

關閉操作DMClient

清除與客戶端關聯的所有操作狀態並從通知程序中刪除所有相關訂閱。在通話結束後最終確定()DMClient可以簡單地通過調用初始化重新初始化()。 最終化()被調用的DMClient析構函數,而是可以在其中的情況下被稱為DMClient需要清理,例如在故障或臨時停機時,但可能需要在一段時間後進行重構。

指示不全

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

處理客戶端使用的綁定的“未完成”。

當綁定意外失敗時,例如,如果綁定中涉及的連接已關閉,則調用此方法。

細節
參數
[in] aBinding
的指針綁定,已成為不完整的。
[in] aReport
對提供失敗原因的狀態報告的引用。

~DMClient

virtual  ~DMClient(
  void
)

析構函數DMClient對象。

清除所有內部狀態,並在必要時取消掛起的訂閱。

受保護的功能

新更新

Update * NewUpdate(
  void
)

新視圖

View * NewView(
  void
)