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 )
公開データのビューをリクエストします。
指定したリモート パブリッシャーに存在し、管理されているデータのビューをリクエストします。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
||||||||
戻り値 |
それ以外の場合は、トランザクションの初期化または開始の失敗を反映する WEAVE_ERROR。
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
デフォルトのパブリッシャーのデータのビューをリクエストします。
「デフォルト」に配置され、管理されているデータのビューをリクエストしますpublisher、つまり、クライアントのバインディング テーブルの最初の(または唯一の)パブリッシャー。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
||||||
戻り値 |
それ以外の場合は、トランザクションの初期化または開始の失敗を反映する 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 をシャットダウンします。
クライアントに関連付けられたすべての動作状態をクリアし、関連するすべてのサブスクリプションを Notifier から削除します。Finalize() の呼び出しの後、Init() を呼び出すだけで DMClient を再初期化できます。Finalize() は DMClient デストラクタによって呼び出されますが、DMClient がクリーンアップを必要とする場合は呼び出すことができます(例:障害や一時的なシャットダウンが発生した場合に備え、後で再構築の必要が生じることがあります。
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
「不完全な部分」への対処あることを示しています。
バインディングが予期せず失敗した場合。例:バインディングに関連する接続が閉じられると、このメソッドが呼び出されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|