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 )
公開データのビューをリクエストします。
指定したリモートのパブリッシャーに常駐し、管理しているデータのビューをリクエストします。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
||||||||
戻り値 |
それ以外の場合は、トランザクションの初期化または開始の失敗を反映する WEAVE_ERROR。
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
デフォルトのパブリッシャーのデータ表示をリクエストします。
「デフォルト」のパブリッシャー、つまりクライアントのバインディング テーブルの最初の(または唯一の)パブリッシャーに常駐し、管理されているデータのビューをリクエストします。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
||||||
戻り値 |
それ以外の場合は、トランザクションの初期化または開始の失敗を反映する WEAVE_ERROR。
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
公開データの更新をリクエストします。
リモートのパブリッシャーに管理対象データの更新をリクエストします。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
成功した場合は WEAVE_NO_ERROR、更新トランザクションが割り当てられていない場合は WEAVE_ERROR_NO_MEMORY になります。それ以外の場合は、更新に失敗したことを示す WEAVE_ERROR を返します。
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t 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 )
実行中のトランザクションのキャンセルをリクエストします。
このメソッドは、ネットワーク トラフィックを生成せず、指定したトランザクションに割り当てられたリソースを解放するだけです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
成功した場合は WEAVE_NO_ERROR、トランザクションのキャンセルに失敗した場合は WEAVE_ERROR が返されます。
|
消去
virtual void Clear( void )
DMClient オブジェクトに関連付けられた内部状態をクリアします。
特に、このメソッドはクライアント トランザクション プールをすべてクリアします。また、サブスクリプションをキャンセルし、トランザクション テーブルとバインディング テーブルをクリーンアップするため、Finalize() メソッドを使用したことのあるクライアントに適しています。
関連項目:Finalize()
DMClient
DMClient( void )
ファイナライズ
virtual void Finalize( void )
稼働中の DMClient をシャットダウンします。
クライアントに関連付けられている動作状態をすべて消去し、関連するすべてのサブスクリプションを通知システムから削除します。Finalize() を呼び出した後に、Init() を呼び出すだけで DMClient を再初期化できます。Finalize() は、DMClient デストラクタによって呼び出されますが、DMClient がクリーンアップを必要とする場合(障害や一時的なシャットダウンなど)に呼び出されることがありますが、後で再構成が必要になる場合があります。
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
クライアントによって使用されているバインディングの「不完了」を処理します。
バインディングが予期せず失敗した場合(バインディングに関連する接続が閉じている場合など)に、このメソッドが呼び出されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|