nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

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

アプリケーション固有の WDM パブリッシャー向けの抽象基本クラス。

概要

DMPublisher は、標準の WDM パブリッシャーの基本クラスです。コミュニケーション クランク ターンを処理する DM の ProtocolEngine クラスと、完全に抽象的な PublisherDataManager クラスが混在しています。サブスクリプションと通知のサポートはオプションであり、エントリのないサブスクリプション テーブルを構成するだけで抑制できます。

継承

継承元:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

コンストラクタとデストラクタ

DMPublisher(void)
DMPublisher オブジェクトのデフォルト コンストラクタ。
~DMPublisher(void)
DMPublisher オブジェクトのデストラクタ。

パブリック関数

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
DMPublisher オブジェクトの内部状態をクリアします。
Finalize(void)
virtual void
動作中の DMPublisher をシャットダウンします。
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
バインディングの失敗を処理する。
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
DMPublisher オブジェクトを初期化します。
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
更新リクエストに応答します。
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
ビュー リクエストに応答します。

パブリック関数

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

クリア

virtual void Clear(
  void
)

DMPublisher オブジェクトの内部状態をクリアします。

通知トランザクション プールとサブスクリプション テーブルをクリアします。

DMPublisher

 DMPublisher(
  void
)

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

すべての内部状態をクリアします。

完了

virtual void Finalize(
  void
)

動作中の DMPublisher をシャットダウンします。

すべての動作状態をクリアし、リスナーが実行されている場合はシャットダウンします。

IncompleteIndication

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

バインディングの失敗を処理する。

バインディングが不完全になった場合(TCP バインディングの接続が閉じられたとき)、プロトコル エンジンは、ステータス ハンドラの呼び出しなど、それに依存するトランザクションをすべて失敗させる必要があります。また、不完全な表示は、ピア ID を受け取るこのメソッドの代替形式を実装する任意のスーパークラス オブジェクトに渡されます。

詳細
パラメータ
[in] aBinding
失敗したバインディングへのポインタ。
[in] aReport
失敗の理由を示す StatusReport オブジェクトへの参照。

init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

DMPublisher オブジェクトを初期化します。

この方法では、あらゆるクライアント リクエスト(サブスクリプションのリクエストも含む)に対して、エクスチェンジ マネージャにリスナーをインストールするという副作用があります。

詳細
パラメータ
[in] aExchangeMgr
パブリッシャーが参加を希望するすべてのエクスチェンジで使用する WeaveExchangeManager オブジェクトへのポインタ。
[in] aResponseTimeout
ミリ秒単位のレスポンス タイムアウト。つまり、レスポンスを待機する最大時間です。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、パブリッシャーを正しくセットアップしていないことを示す WEAVE_ERROR が返されます。

init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

更新リクエストに応答します。

通知で指定された交換コンテキストを使用して、処理後に更新リクエストに対するレスポンスを送信します。

詳細
パラメータ
[in] aResponseCtx
リクエストを受信した交換コンテキストへのポインタ。
[in] aStatus
リクエストのステータスに関する情報を含む StatusReport オブジェクトへの参照。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、レスポンス メッセージの送信に失敗したことを示す WEAVE_ERROR が返されます。

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

ビュー リクエストに応答します。

表示で指定された交換コンテキストを使用して、処理後に閲覧リクエストに対するレスポンスを送信します。

詳細
パラメータ
[in] aResponseCtx
リクエストを受信した交換コンテキストへのポインタ。
[in] aStatus
リクエストのステータスに関する情報を含む StatusReport オブジェクトへの参照。成功した場合、リクエスト元は対象のデータを含むデータリストがあることを想定しています。
[in] aDataList
対象のデータとそのデータの処理を示すパスを含む TLV エンコード データリストを含む、オプションの ReferencedTLVData オブジェクトへのポインタ。前のパラメータで示されたステータスが成功しなかった場合、このパラメータは NULL になることに注意してください。
戻り値
WEAVE_NO_ERROR
成功時。それ以外の場合は、レスポンス メッセージの送信に失敗したことを示す WEAVE_ERROR が返されます。
WEAVE_ERROR_INVALID_ARGUMENT
指定されたパラメータに一貫性がない場合
WEAVE_ERROR_NO_MEMORY
Inet バッファを割り当てられなかった場合。

~DMPublisher

virtual  ~DMPublisher(
  void
)

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

すべての内部状態をクリアし、リスナーが存在する場合はエクスチェンジ マネージャーからリスナーを削除します。