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
省略可能な ReferencedTLVData オブジェクトへのポインタ。対象のデータと、そのデータの処理を示すパスを含む TLV エンコードのデータリストを含みます。前のパラメータで与えられたステータスが成功しなかった場合、このパラメータは NULL になります。
戻り値
WEAVE_NO_ERROR
成功時。それ以外の場合は、レスポンス メッセージの送信に失敗したことを表す WEAVE_ERROR を返します。
WEAVE_ERROR_INVALID_ARGUMENT
指定したパラメータに一貫性がない場合
WEAVE_ERROR_NO_MEMORY
Inet バッファを割り当てることができなかった場合。

~DMPublisher

virtual  ~DMPublisher(
  void
)

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

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