Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

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 をシャットダウンします。

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

未完了の表示

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 オブジェクトを初期化します。

この方法には、サブスクリプション用のものを含む可能性のあるすべてのクライアント リクエストに対するリスナーを Exchange Manager にインストールすることによる副作用があります。

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

init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived(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 オブジェクトのデストラクタ。

すべての内部状態を消去し、Exchange Manager からリスナーを削除します(存在する場合)。