nl::Weave::Profiles::DataManagement_Legacy::DMClient

#include <src/lib/profiles/data-management/Legacy/DMClient.h>

アプリケーション固有の WDM クライアントの抽象基本クラス。

概要

DMClient は、標準の WDM クライアントです。実装には、オプションでサブスクリプション/通知が含まれます。これは、通信クランクターンを処理する DM の ProtocolEngine クラスと、上位レイヤがそれについて心配する必要がないようにいくつかのサブスクリプション関連のメソッドが実装された、完全に抽象的な ClientDataManager クラスを組み合わせたものです。

サブスクリプション関連のタスクのハンドラは、主に ClientNotifier オブジェクト上のシン アダプターとして機能します。サブクラスの実装者は、サブスクリプション マネージャーを起動するために、関連するスーパークラスのメソッドを呼び出す必要があります。

DMClient リクエスト メソッドには通常、2 つの署名があります。1 つは明示的な宛先ノード ID を持ち、もう 1 つは指定された宛先を持ちます。いずれの場合も、パブリッシャーにメッセージを送信できるかどうかは、クライアントの既存のバインディングに依存しますが、最初のケースでは、宛先 ID は複数のバインドされた宛先から選択するためのもので、2 番目のケースでは、バインディング テーブルの最初のアイテムがデフォルトとして選択されます。これは、クライアントが 1 つのパブリッシャーにのみバインドされる場合などに便利です。

継承

継承元:
  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 *

ViewRequest

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

公開データのビューをリクエストします。

指定したリモート パブリッシャーに存在し、管理されているデータのビューをリクエストします。

詳細
パラメータ
[in] aDestinationId
リモート パブリッシャーの 64 ビットノード ID への参照。
[in] aPathList
リクエストされたデータを示す TLV エンコードのパスリストを含む ReferencedTLVData オブジェクトへの参照。
[in] aTxnId
このビュー オペレーションを管理するためにセットアップされた WDM トランザクションの識別子。
[in] aTimeout
表示の応答を待機する最大時間(ミリ秒)。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_NO_MEMORY
トランザクションを割り当てることができなかった場合。
戻り値
それ以外の場合は、トランザクションの初期化または開始の失敗を反映する WEAVE_ERROR

ViewRequest

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

デフォルトのパブリッシャーのデータのビューをリクエストします。

「デフォルト」に配置され、管理されているデータのビューをリクエストしますpublisher、つまり、クライアントのバインディング テーブルの最初の(または唯一の)パブリッシャー。

詳細
パラメータ
[in] aPathList
リクエストされたデータを示す TLV エンコードのパスリストを含む ReferencedTLVData オブジェクトへの参照。
[in] aTxnId
このビュー オペレーションを管理するためにセットアップされた WDM トランザクションの識別子。
[in] aTimeout
表示の応答を待機する最大時間(ミリ秒)。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_NO_MEMORY
トランザクションを割り当てることができなかった場合。
戻り値
それ以外の場合は、トランザクションの初期化または開始の失敗を反映する WEAVE_ERROR

UpdateRequest

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

公開データの更新をリクエストします。

リモート パブリッシャーが管理対象のデータを更新するようリクエストします。

詳細
パラメータ
[in] aDestinationId
リクエストの送信先であるリモート パブリッシャーの 64 ビットのノード ID への参照。
[in] aDataList
更新の適用先のパスなど、更新の表現を含む TLV エンコードのデータリストを含む ReferencedTLVData オブジェクトへの参照。
[in] aTxnId
更新リクエストを管理するために設定されたトランザクションの識別子。
[in] aTimeout
対応するステータス レポートを待つ最大時間(ミリ秒)。
戻り値
成功した場合は WEAVE_NO_ERROR、更新トランザクションが割り当てられなかった場合は WEAVE_ERROR_NO_MEMORY。それ以外の場合は、更新の失敗を示す WEAVE_ERROR が返されます。

UpdateRequest

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

デフォルトのパブリッシャーのデータの更新をリクエストします。

リモート パブリッシャーが管理対象のデータを更新するようリクエストします。このバージョンでは、クライアントのデフォルト バインディングのターゲットであるパブリッシャーにリクエストが転送されます。

詳細
パラメータ
[in] aDataList
更新の適用先のパスなど、更新の表現を含む TLV エンコードのデータリストを含む ReferencedTLVData オブジェクトへの参照。
[in] aTxnId
更新リクエストを管理するために設定されたトランザクションの識別子。
[in] aTimeout
対応するステータス レポートを待つ最大時間(ミリ秒)。
戻り値
成功した場合は WEAVE_NO_ERROR、更新トランザクションが割り当てられなかった場合は WEAVE_ERROR_NO_MEMORY。それ以外の場合は、更新の失敗を示す WEAVE_ERROR が返されます。

プロテクト属性

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

パブリック関数

CancelTransactionRequest

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() メソッドをおすすめします。

関連情報:
Finalize()

DMClient

 DMClient(
  void
)

DMClient オブジェクトのデフォルト コンストラクタ。

すべての内部状態をクリアします。DMClient を使用するには、使用前に Init() でさらに初期化する必要があります。

完了

virtual void Finalize(
  void
)

動作している DMClient をシャットダウンします。

クライアントに関連付けられたすべての動作状態をクリアし、関連するすべてのサブスクリプションを Notifier から削除します。Finalize() の呼び出しの後、Init() を呼び出すだけで DMClient を再初期化できます。Finalize()DMClient デストラクタによって呼び出されますが、DMClient がクリーンアップを必要とする場合は呼び出すことができます(例:障害や一時的なシャットダウンが発生した場合に備え、後で再構築の必要が生じることがあります。

IncompleteIndication

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

「不完全な部分」への対処あることを示しています。

バインディングが予期せず失敗した場合。例:バインディングに関連する接続が閉じられると、このメソッドが呼び出されます。

詳細
パラメータ
[in] aBinding
不完全になった Binding へのポインタ。
[in] aReport
失敗の理由を示すステータス レポートへの参照。

~DMClient

virtual  ~DMClient(
  void
)

DMClient オブジェクトのデストラクタ。

すべての内部状態をクリアし、必要に応じて保留中の定期購入をキャンセルします。

プロテクト関数

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)