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

nl ::織り::プロファイル:: DataManagement_Legacy :: ProtocolEngine

これは抽象クラスです。

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

WDMプロトコルエンジンクラス。

概要

データ管理エンティティ、クライアントまたはパブリッシャーには、プロトコルエンジンコンポーネントとデータマネージャーコンポーネントがあります。この抽象クラスは、プロトコルエンジンの一般的な機能を表します。

継承

直接既知のサブクラス:
  nl :: Weave :: Profiles :: DataManagement_Legacy :: DMClient
  nl :: Weave :: Profiles :: DataManagement_Legacy :: DMPublisher

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

ProtocolEngine (void)
~ProtocolEngine (void)

保護された属性

mBindingTable [kBindingTableSize]
ProtocolEngineは、エンジンが単にブロードキャスト通知を受け取る超えて何のための責任を負うことになるだろうされている場合、おそらく少なくとも一つのエントリが含まれている必要があり、結合テーブルを持っています。
mExchangeMgr
mResponseTimeout
uint32_t
mTransactionTable [kTransactionTableSize]

公の行事

BindConfirm ( Binding *aBinding)
virtual WEAVE_ERROR
バインド要求が正常に完了したことの確認を処理します。
BindConfirm ( Binding *aBinding, StatusReport & aReport)
virtual WEAVE_ERROR
バインド要求が失敗したことの確認を処理します。
BindRequest (const uint64_t & aPeerNodeId, uint8_t aTransport)
既知のピアノードIDとトランスポート指定子を使用してバインディングを要求します。
BindRequest (const uint64_t & aPeerNodeId)
デフォルトのトランスポートを使用して、既知のピアにバインドします。
BindRequest ( nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode)
BindRequest ( WeaveConnection *aConnection)
アクティブなWeave接続を使用してバインディングを要求します。
IncompleteIndication ( Binding *aBinding, StatusReport & aReport)
virtual void
バインディングが失敗したという表示を処理します。
IncompleteIndication (const uint64_t & aPeerNodeId, StatusReport & aReport)=0
virtual void
バインディングが不完全になったという表示を処理します。
Init ( WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
Init ( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
UnbindRequest (const uint64_t & aPeerNodeId)
void
バインディングを元に戻し、バインディングテーブルから削除するように要求します。
UnbindRequest (const uint64_t & aPeerNodeId, WEAVE_ERROR aErr)
void
バインディングを元に戻し、バインディングテーブルから削除するように要求します。

保護された機能

Clear (void)
void
ClearBindingTable (void)
void
ClearTransactionTable (void)
void
DequeueTransaction ( DMTransaction *aTransaction)
void
EnqueueTransaction ( DMTransaction *aTransaction, Binding *aBinding)
EnqueueTransaction ( DMTransaction *aTransaction)
FailTransactions ( Binding *aBinding, StatusReport & aReport)
bool
Finalize (void)
virtual void
FinalizeBindingTable (void)
void
FinalizeTransactionTable (void)
void
FinalizeTransactions ( Binding *aBinding)
void
FromExchangeCtx ( ExchangeContext *aExchangeCtx)
GetBinding (const uint64_t & aPeerNodeId)
NewBinding (void)
StartTransaction ( DMTransaction *aTransaction, Binding *aBinding)
StartTransaction ( DMTransaction *aTransaction)
StatusResponse ( ExchangeContext *aExchangeCtx, StatusReport & aStatus)

クラス

NL ::織り::プロファイル:: DataManagement_Legacy :: ProtocolEngine :: DMTransaction

保護された属性

mBindingTable

Binding mBindingTable[kBindingTableSize]

ProtocolEngineは、エンジンが単にブロードキャスト通知を受け取る超えて何のための責任を負うことになるだろうされている場合、おそらく少なくとも一つのエントリが含まれている必要があり、結合テーブルを持っています。

バインディングは通常、ノードIDによってインデックスが付けられます。これが意味するのは、各エンジンが特定のサービスエンドポイントへのバインディングを1つだけ持つことができるということです。

WDM仕様には、明示的な宛先が指定されていない場合にメッセージが送信される場所である「デフォルトバインディング」の概念があります。これは主に、単一のバインディングまたは少数のバインディングを持つ非常に単純なデバイスで使用され、他の目的では、最初に形成されるバインディングになります。

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mResponseTimeout

uint32_t mResponseTimeout

mTransactionTable

TransactionTableEntry mTransactionTable[kTransactionTableSize]

公の行事

BindConfirm

virtual WEAVE_ERROR BindConfirm(
  Binding *aBinding
)

バインド要求が正常に完了したことの確認を処理します。

バインディングが完了すると、プロトコルエンジンはトランザクションテーブルを調べ、そのバインディングに依存するトランザクションを開始します。

詳細
パラメーター
[in] aBinding
完了したバインディングへのポインター。
戻り値
WEAVE_NO_ERROR成功しました。それ以外の場合は返すWEAVE_ERRORトランザクションを開始できないことを反映し。

BindConfirm

virtual WEAVE_ERROR BindConfirm(
  Binding *aBinding,
  StatusReport & aReport
)

バインド要求が失敗したことの確認を処理します。

バインド要求が失敗した場合、プロトコルエンジンはトランザクションテーブルを調べて、バインディングに応じてすべてのトランザクションを失敗させる必要があります。

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

BindRequest

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId,
  uint8_t aTransport
)

既知のピアノードIDとトランスポート指定子を使用してバインディングを要求します。

ピアノードIDとトランスポート仕様が与えられると、このリクエストはそのピアへのバインディングを設定します。トランスポートがTCPの場合にのみ、入札に追加の完了が必要になります。ピアへのバインディングがすでに存在する場合は、再利用されます。

詳細
パラメーター
[in] aPeerNodeId
バインディングターゲットであるピアエンティティの64ビットノードIDへの参照。
[in] aTransport
使用するトランスポート。
戻り値
WEAVE_NO_ERROR成功したかにWEAVE_ERROR_NO_MEMORYバインディングテーブルがいっぱいの場合。それ以外の場合は返すWEAVE_ERROR結合を初期化に失敗したことを反映しています。
参照:
WeaveTransportOption

BindRequest

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId
)

デフォルトのトランスポートを使用して、既知のピアにバインドします。

詳細
パラメーター
[in] aPeerNodeId
バインディングターゲットであるピアエンティティの64ビットノードIDへの参照。
戻り値
WEAVE_NO_ERROR成功しました。それ以外の場合は返すWEAVE_ERRORバインド操作の失敗を反映します。

BindRequest

WEAVE_ERROR BindRequest(
  nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr,
  WeaveAuthMode aAuthMode
)

BindRequest

WEAVE_ERROR BindRequest(
  WeaveConnection *aConnection
)

アクティブなWeave接続を使用してバインディングを要求します。

バインディングは、既存のオープンな接続を使用して確立することもできます。この方法で確立されたバインディングは、追加の完了を必要としないことに注意してください。

詳細
パラメーター
[in] aConnection
バインディングで使用されるWeave接続へのポインター。
戻り値
WEAVE_NO_ERROR成功したかにWEAVE_ERROR_NO_MEMORYバインディングテーブルがいっぱいの場合。それ以外の場合は、バインディングの初期化の失敗を反映するエラーを返します。

IncompleteIndication

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

バインディングが失敗したという表示を処理します。

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

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

IncompleteIndication

virtual void IncompleteIndication(
  const uint64_t & aPeerNodeId,
  StatusReport & aReport
)=0

バインディングが不完全になったという表示を処理します。

バインディングの失敗を通知したい上位層は、このメソッドを使用する必要があります。このメソッドは、ステータスレポートとともにピアIDを渡すだけです。この方法は、仮想無効であるため、実際には、任意のDMClientまたはDMPublisherサブクラスが実装を提供する必要があります。

詳細
パラメーター
[in] aPeerNodeId
失敗したバインディングのターゲットであるピアノードまたはサービスエンドポイントの64ビットIDへの参照。
[in] aReport
失敗の理由を詳述するStatusReportオブジェクトへの参照。

初期化

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

初期化

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

ProtocolEngine

 ProtocolEngine(
  void
)

UnbindRequest

void UnbindRequest(
  const uint64_t & aPeerNodeId
)

バインディングを元に戻し、バインディングテーブルから削除するように要求します。

バインディングが「バインド解除」されている場合、現在そのバインディングに依存しているトランザクションもすべて削除する必要があります。このメソッドは、このバインディングを使用してすべてのトランザクションを自動的に終了します。

詳細
パラメーター
[in] aPeerNodeId
バインディングを識別する64ビットノードIDまたはサービスエンドポイントへの参照。
参照:
UnbindRequest(const uint64_t、WEAVE_ERROR)

UnbindRequest

void UnbindRequest(
  const uint64_t & aPeerNodeId,
  WEAVE_ERROR aErr
)

バインディングを元に戻し、バインディングテーブルから削除するように要求します。

バインディングが「バインド解除」されている場合、現在そのバインディングに依存しているトランザクションもすべて削除する必要があります。このメソッドは、このバインディングを使用してすべてのトランザクションを自動的に終了します。

詳細
パラメーター
[in] aPeerNodeId
バインディングを識別する64ビットノードIDまたはサービスエンドポイントへの参照。
[in] aErr
このバインド解除要求に特定の理由がない場合はWEAVE_NO_ERROR、そうでない場合はエラーの原因が渡されます。
参照:
UnbindRequest(const uint64_t)

〜ProtocolEngine

virtual  ~ProtocolEngine(
  void
)

保護された機能

晴れ

void Clear(
  void
)

ClearBindingTable

void ClearBindingTable(
  void
)

ClearTransactionTable

void ClearTransactionTable(
  void
)

DequeueTransaction

void DequeueTransaction(
  DMTransaction *aTransaction
)

EnqueueTransaction

WEAVE_ERROR EnqueueTransaction(
  DMTransaction *aTransaction,
  Binding *aBinding
)

EnqueueTransaction

WEAVE_ERROR EnqueueTransaction(
  DMTransaction *aTransaction
)

FailTransactions

bool FailTransactions(
  Binding *aBinding,
  StatusReport & aReport
)

ファイナライズ

virtual void Finalize(
  void
)

FinalizeBindingTable

void FinalizeBindingTable(
  void
)

FinalizeTransactionTable

void FinalizeTransactionTable(
  void
)

FinalizeTransactions

void FinalizeTransactions(
  Binding *aBinding
)

FromExchangeCtx

Binding * FromExchangeCtx(
  ExchangeContext *aExchangeCtx
)

GetBinding

Binding * GetBinding(
  const uint64_t & aPeerNodeId
)

NewBinding

Binding * NewBinding(
  void
)

StartTransaction

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction,
  Binding *aBinding
)

StartTransaction

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction
)

StatusResponse

WEAVE_ERROR StatusResponse(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)