nl ::織り::プロファイル:: DataManagement_Legacy ::バインディング

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

バインディングクラスは、織りを使用して、アプリケーション・エンティティに代わって通信状態を管理します。

概要

アプリケーションがWeaveを使用してリモートエンティティと通信する場合、さまざまなオプションがあります。 バインディングクラスは、これらのオプションと簡単なものは簡単で、より困難なものが少なく扱いやすいであるように並べ、それらを囲い。対象となるオプションは次のとおりです。

  • 既知のピアノードとのユニキャストUDP通信。
  • 「任意の」ノードを使用したUDPブロードキャスト。
  • 既知のピアノードとのユニキャストWRMP通信。
  • 既知のピアノードとのTCP通信。
  • サービスマネージャインスタンスを使用して設定する既知のサービスエンドポイントとのTCP通信。
  • 事前に確立された接続に基づくTCP通信。

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

Binding (void)
デフォルトのコンストラクタバインドオブジェクト。
~Binding (void)
デストラクタバインディングオブジェクト。

公開型

@165 {
kState_Incomplete = 0,
kState_Completing = 1,
kState_Complete = 2
}
列挙型
一連のバインディングオブジェクトの状態。

パブリック属性

mAuthMode
WeaveAuthMode
使用する Weave 認証モード。
mConnection
このバインディングで現在使用されているWeave接続へのポインター。
mEngine
ポインタProtocolEngineとこれに関連するオブジェクトバインディング
mPeerNodeId
uint64_t
バインディングターゲットの64ビットノードID。
mServiceMgr
このバインディングを完了するために使用する(オプションの)ServiceManagerオブジェクトへのポインター。
mState
uint8_t
現在のバインディングオブジェクトの状態。
mTransport
uint8_t
この完成に使用するトランスポートバインディングを

公の行事

CompleteConfirm ( WeaveConnection *aConnection)
void
バインド要求の確認を処理します。
CompleteConfirm ( StatusReport & aReport)
void
バインド リクエストの失敗を処理します。
CompleteConfirm (void)
void
バインド要求の確認を処理します。
CompleteRequest ( ProtocolEngine *aEngine)
バインディングの完了を要求します。
Connect ( WeaveConnection *aConnection)
完了した接続を提供して、TCP バインディングを完了します。
Finalize (void)
void
バインディングを「未完了」にして解放します。
Finalize ( WEAVE_ERROR aErr)
void
バインディングを「未完了」にして解放します。
Free (void)
void
バインディング状態をクリアします。
GetExchangeCtx ( WeaveExchangeManager *aExchangeMgr, void *aAppState)
生成ExchangeContextのからオブジェクトをバインド
IncompleteIndication ( StatusReport & aReport)
void
バインディングの失敗を処理します。
Init (const uint64_t & aPeerNodeId)
初期化バインディングだけノードIDと。
Init (const uint64_t & aPeerNodeId, uint8_t aTransport)
初期化結合ピアID及び輸送に基づいてオブジェクトを。
Init (const uint64_t & aServiceEpt, WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode)
初期化バインディングサービスエンドポイントにオブジェクトを。
Init ( WeaveConnection *aConnection)
初期化バインディングを持つオブジェクトWeaveConnectionを
IsComplete (void)
bool
バインディングが完了しているかどうかを確認します。
IsFree (void)
bool
チェックはバインディングは無料です。
UncompleteRequest (void)
void
バインディングを不完全にします。
UncompleteRequest ( WEAVE_ERROR aErr)
void
バインディングを不完全にします。

公開型

@ 165

 @165

一連のバインディングオブジェクトの状態。

プロパティ
kState_Complete

状態の結合完了し、使用する準備ができています。

kState_Completing

状態結合完了処理中です。

kState_Incomplete

初期(および最終)状態バインディング

パブリック属性

mAuthMode

WeaveAuthMode mAuthMode

使用する織り認証モード。

(読み取り専用)

これは、このバインディングによって管理されるすべての通信で使用される認証モードです。

mConnection

WeaveConnection * mConnection

このバインディングで現在使用されているWeave接続へのポインター。

(読み取り専用)

TCPバインディングは、すぐに接続して初期化することも、完了時に割り当てることもできます。

mEngine

ProtocolEngine * mEngine

ポインタProtocolEngineとこれに関連するオブジェクトバインディング

バインディングは通常、特定のプロトコルエンジンに関して完了します。これは、主にMessageLayerにアクセスする方法として使用されます。これは私たちがそれを追跡する場所です。

mPeerNodeId

uint64_t mPeerNodeId

バインディングターゲットの64ビットノードID。

(読み取り専用)

すべてのバインディングは、ここに命名されるターゲットエンティティを、持っています。ウィーブノードIDに加えて、これはサービスエンドポイントを指定する場合があります。

mServiceMgr

nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager * mServiceMgr

このバインディングを完了するために使用する(オプションの)ServiceManagerオブジェクトへのポインター。

(読み取り専用)

Weaveサービスにバインドする場合、初期化時にWeaveノードIDの代わりに64ビットのサービスエンドポイントIDを指定できます。この場合、バインディングを完了するにはServiceManagerオブジェクトも必要です。通常のTCPまたはWRMPバインディングには、ServiceManagerオブジェクトは必要ありません。

mState

uint8_t mState

現在のバインディングオブジェクトの状態。

一度に実行できる「完了」操作は1つだけです。いずれの場合も、完了したバインディングを完了するように要求すると、すぐに確認関数が呼び出されます。以下の状態変数は現在の状態を追跡し、ロックアウトとして機能します。

mTransport

uint8_t mTransport

この完成に使用するトランスポートバインディングを

(読み取り専用)

mTransportの可能な値は、DMConstants.hで定義されています。

公の行事

バインディング

 Binding(
  void
)

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

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

CompleteConfirm

void CompleteConfirm(
  WeaveConnection *aConnection
)

バインド要求の確認を処理します。

詳細
パラメーター
[in] aConnection
アクティブへのポインタWeaveConnection結合標的へ。

CompleteConfirm

void CompleteConfirm(
  StatusReport & aReport
)

バインド要求の失敗を処理します。

詳細
パラメーター
[in] aReport
失敗を説明するStatusReportオブジェクトへの参照。

CompleteConfirm

void CompleteConfirm(
  void
)

バインド要求の確認を処理します。

CompleteRequest

WEAVE_ERROR CompleteRequest(
  ProtocolEngine *aEngine
)

バインディングの完了を要求します。

結合の完了は、少なくともTCPを必要とバインディングするため、特定のに対して行われるProtocolEngineのExchangeManagerインスタンスへのアクセスを提供するオブジェクト。

詳細
パラメーター
[in] aEngine
ポインタProtocolEngineの完了が行われているの代わりにオブジェクト。
戻り値
WEAVE_NO_ERROR
成功したとき。
WEAVE_ERROR_INCORRECT_STATE
バインディングがすでに完了している場合。
WEAVE_ERROR_NO_MEMORY
接続が必要で、何も利用できない場合
戻り値
それ以外の場合は、任意のWEAVE_ERRORは、接続しようとしているときに戻りました。

接続する

WEAVE_ERROR Connect(
  WeaveConnection *aConnection
)

完了した接続を提供して、TCPバインディングを完了します。

新しく初期化されたTCPバインディングは、完了するまで使用できません。通常、これは、アプリケーションがバインディングを使用してメッセージを送信しようとするときにオンデマンドで実行されますが、Weave接続を提供することで明示的に完了することもできます。

詳細
パラメーター
[in] aConnection
ポインタWeaveConnection結合を完了するために使用されます。
戻り値
WEAVE_NO_ERROR
成功したとき。
WEAVE_ERROR_INCORRECT_STATE
バインディングにすでに接続がある場合。
WEAVE_ERROR_INVALID_ARGUMENT
接続がNULLの場合。

ファイナライズ

void Finalize(
  void
)

バインディングを「未完了」にして解放します。

バインディングは、単純にすることによって、その初期状態にクリアされた状態に加えてUncomplete()メソッドによって処理された接続閉鎖、例えば、クリーンアップが必要となる状態があり無料()メソッドを。このメソッドは、主に便宜上、両方を呼び出します。

参照:
Finalize(WEAVE_ERROR)

ファイナライズ

void Finalize(
  WEAVE_ERROR aErr
)

バインディングを「未完了」にして解放します。

バインディングは、単純にすることによって、その初期状態にクリアされた状態に加えてUncomplete()メソッドによって処理された接続閉鎖、例えば、クリーンアップが必要となる状態があり無料()メソッドを。このメソッドは、主に便宜上、両方を呼び出します。

詳細
パラメーター
[in] aErr
このエラーコードは、このリクエストの原因を示しています。 WEAVE_NO_ERRORでない場合、TCP接続が中止される可能性があります。
参照:
Finalize(void)

自由

void Free(
  void
)

バインディング状態をクリアします。

無条件にすべてのバインディング状態を元の状態に戻します。

GetExchangeCtx

ExchangeContext * GetExchangeCtx(
  WeaveExchangeManager *aExchangeMgr,
  void *aAppState
)

生成ExchangeContextのからオブジェクトをバインド

詳細
パラメーター
[in] aExchangeMgr
コンテキストを要求する交換マネージャーへのポインター。
[in] aAppState
後で使用するために交換コンテキストに格納されるアプリケーション状態オブジェクトへのvoidポインタ。
戻り値
ポインタExchangeContextのオブジェクト、あるいは失敗した場合にNULL。

IncompleteIndication

void IncompleteIndication(
  StatusReport & aReport
)

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

この方法は、結合、すなわち後、完了した後に失敗したときに呼び出され、順番に呼び出し、上位層ハンドラさ)(CompleteConfirm成功を表すステータスで呼び出されました。

詳細
パラメーター
[in] aReport
何が悪かったのかを説明するStatusReportへの参照。
次も参照してください。
CompleteConfirm(StatusReportの&aReport) 。

初期化

WEAVE_ERROR Init(
  const uint64_t & aPeerNodeId
)

初期化バインディングだけノードIDと。

これにより、構成されたデフォルトのトランスポートとのバインディングが発生します。

詳細
パラメーター
[in] aPeerNodeId
バインディングターゲットの64ビットIDへの参照。
戻り値
WEAVE_NO_ERROR
成功したとき。
WEAVE_ERROR_INVALID_ARGUMENT
バインディングが十分に指定されていない場合。

初期化

WEAVE_ERROR Init(
  const uint64_t & aPeerNodeId,
  uint8_t aTransport
)

初期化結合ピアID及び輸送に基づいてオブジェクトを。

詳細
パラメーター
[in] aPeerNodeId
バインディングターゲットの64ビットノード識別子への参照。
[in] aTransport
WeaveTransportOptionからのトランスポート仕様。
戻り値
WEAVE_NO_ERROR
成功したとき。
WEAVE_ERROR_INVALID_ARGUMENT
バインディングが指定不足の場合。

初期化

WEAVE_ERROR Init(
  const uint64_t & aServiceEpt,
  WeaveServiceManager *aServiceMgr,
  WeaveAuthMode aAuthMode
)

初期化バインディングサービスエンドポイントにオブジェクトを。

これは、Nestサービスの特定のエンドポイントにバインドする方法です。この種のバインディングには、ローカルサービスディレクトリキャッシュへの入力または更新を含む、多段階の完了プロセスが必要です。ほとんどの場合、このプロセスはアプリケーションから隠されていますが、プロセスの後半で発生するエラーは、通常は関連する「確認」コールバックを介して、元の使用要求(および完了)の後に配信される可能性があることを意味します。バインディング。

詳細
パラメーター
[in] aServiceEpt
対象のWeaveServiceエンドポイントの64ビット識別子への参照。
[in] aServiceMgr
サービス層の検索と接続に使用するサービスマネージャーインスタンスへのポインター。
[in] aAuthMode
接続に使用する認証モード。
戻り値
WEAVE_NO_ERROR
成功したとき。
WEAVE_ERROR_INVALID_ARGUMENT
バインディングが指定不足の場合。

初期化

WEAVE_ERROR Init(
  WeaveConnection *aConnection
)

初期化バインディングを持つオブジェクトWeaveConnectionを

詳細
パラメーター
[in] aConnection
ポインタWeaveConnectionは、結合のための基礎として使用します。..
戻り値
WEAVE_NO_ERROR
成功したとき。
WEAVE_ERROR_INVALID_ARGUMENT
バインディングが指定不足の場合。

IsComplete

bool IsComplete(
  void
)

バインディングが完了しているかどうかを確認します。

詳細
戻り値
完了している場合はtrue、それ以外の場合はfalse。
参照:
CompleteRequest(ProtocolEngine * aEngine)

無料です

bool IsFree(
  void
)

チェックはバインディングは無料です。

このコンテキストでの「無料」は、単に「定義されたピアノードIDを持っている」ことを意味します。 IsFree()は、「無料()それに呼び出され、以来使用されていないがあった」という意味として考えるべきです。

詳細
戻り値
バインディングがフリーの場合はtrue、それ以外の場合はfalse。

UncompleteRequest

void UncompleteRequest(
  void
)

バインディングを不完全にします。

基本的に、このメソッドが呼び出された後、バインディングは「不完全」状態になりますが、より微妙に、バインディング自体に含まれていない関連状態(TCP接続など)もクリーンアップする必要があります。アプリケーションは起動検討することUncompleteRequestを()エラーのクリーンアップの一環として。

参照:
UncompleteRequest(WEAVE_ERROR)

UncompleteRequest

void UncompleteRequest(
  WEAVE_ERROR aErr
)

バインディングを不完全にします。

基本的に、このメソッドが呼び出された後、バインディングは「不完全」状態になりますが、より微妙に、バインディング自体に含まれていない関連する状態(TCP接続など)もクリーンアップする必要があります。アプリケーションは起動検討することUncompleteRequestを()エラーのクリーンアップの一環として。

詳細
パラメーター
[in] aErr
WEAVE_NO_ERRORでない場合、既存の接続がある場合は、正常に閉じられるのではなく中止されます。
参照:
UncompleteRequest(void)

〜バインディング

virtual  ~Binding(
  void
)

デストラクタバインディングオブジェクト。

すべての内部状態をクリアし、必要に応じて、開いている接続を閉じます。