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

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

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

概要

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

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

DMClient リクエスト メソッドには通常、明示的な宛先ノード ID を持つ署名と、指定された宛先を持つ署名の 2 つがあります。いずれの場合も、パブリッシャーにメッセージを送信できるかどうかはクライアントの既存のバインディングに依存しますが、最初のケースでは、宛先 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
)

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

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

詳細
パラメータ
[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 をシャットダウンします。

クライアントに関連付けられている動作状態をすべて消去し、関連するすべてのサブスクリプションを通知システムから削除します。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
)