nl ::織り::プロファイル:: DataManagement_Legacy ::バインディング
#include <src/lib/profiles/data-management/Legacy/Binding.h>
バインディングクラスは、織りを使用して、アプリケーション・エンティティに代わって通信状態を管理します。
概要
アプリケーションがWeaveを使用してリモートエンティティと通信する場合、さまざまなオプションがあります。 バインディングクラスは、これらのオプションと簡単なものは簡単で、より困難なものが少なく扱いやすいであるように並べ、それらを囲い。対象となるオプションは次のとおりです。
- 既知のピアノードとのユニキャストUDP通信。
- 「任意の」ノードを使用したUDPブロードキャスト。
- 既知のピアノードとのユニキャストWRMP通信。
- 既知のピアノードとのTCP通信。
- サービスマネージャインスタンスを使用して設定する既知のサービスエンドポイントとのTCP通信。
- 事前に確立された接続に基づくTCP通信。
コンストラクタとデストラクタ | |
---|---|
Binding (void) デフォルトのコンストラクタバインドオブジェクト。 | |
~Binding (void) デストラクタバインディングオブジェクト。 |
公開型 | |
---|---|
@165 { | 列挙型 一連のバインディングオブジェクトの状態。 |
パブリック属性 | |
---|---|
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
パブリック属性
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
公の行事
CompleteConfirm
void CompleteConfirm( WeaveConnection *aConnection )
バインド要求の確認を処理します。
詳細 | |||
---|---|---|---|
パラメーター |
|
CompleteConfirm
void CompleteConfirm( StatusReport & aReport )
バインド要求の失敗を処理します。
詳細 | |||
---|---|---|---|
パラメーター |
|
CompleteConfirm
void CompleteConfirm( void )
バインド要求の確認を処理します。
CompleteRequest
WEAVE_ERROR CompleteRequest( ProtocolEngine *aEngine )
バインディングの完了を要求します。
結合の完了は、少なくともTCPを必要とバインディングするため、特定のに対して行われるProtocolEngineのExchangeManagerインスタンスへのアクセスを提供するオブジェクト。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメーター |
| ||||||
戻り値 |
| ||||||
戻り値 | それ以外の場合は、任意のWEAVE_ERRORは、接続しようとしているときに戻りました。 |
接続する
WEAVE_ERROR Connect( WeaveConnection *aConnection )
完了した接続を提供して、TCPバインディングを完了します。
新しく初期化されたTCPバインディングは、完了するまで使用できません。通常、これは、アプリケーションがバインディングを使用してメッセージを送信しようとするときにオンデマンドで実行されますが、Weave接続を提供することで明示的に完了することもできます。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメーター |
| ||||||
戻り値 |
|
ファイナライズ
void Finalize( void )
バインディングを「未完了」にして解放します。
バインディングは、単純にすることによって、その初期状態にクリアされた状態に加えてUncomplete()メソッドによって処理された接続閉鎖、例えば、クリーンアップが必要となる状態があり無料()メソッドを。このメソッドは、主に便宜上、両方を呼び出します。
参照:Finalize(WEAVE_ERROR)
ファイナライズ
void Finalize( WEAVE_ERROR aErr )
バインディングを「未完了」にして解放します。
バインディングは、単純にすることによって、その初期状態にクリアされた状態に加えてUncomplete()メソッドによって処理された接続閉鎖、例えば、クリーンアップが必要となる状態があり無料()メソッドを。このメソッドは、主に便宜上、両方を呼び出します。
詳細 | |||
---|---|---|---|
パラメーター |
|
Finalize(void)
自由
void Free( void )
バインディング状態をクリアします。
無条件にすべてのバインディング状態を元の状態に戻します。
GetExchangeCtx
ExchangeContext * GetExchangeCtx( WeaveExchangeManager *aExchangeMgr, void *aAppState )
生成ExchangeContextのからオブジェクトをバインド。
詳細 | |||||
---|---|---|---|---|---|
パラメーター |
| ||||
戻り値 | ポインタExchangeContextのオブジェクト、あるいは失敗した場合にNULL。 |
IncompleteIndication
void IncompleteIndication( StatusReport & aReport )
バインディングの失敗を処理します。
この方法は、結合、すなわち後、完了した後に失敗したときに呼び出され、順番に呼び出し、上位層ハンドラさ)(CompleteConfirm成功を表すステータスで呼び出されました。
詳細 | |||
---|---|---|---|
パラメーター |
|
CompleteConfirm(StatusReportの&aReport) 。
初期化
WEAVE_ERROR Init( const uint64_t & aPeerNodeId )
初期化バインディングだけノードIDと。
これにより、構成されたデフォルトのトランスポートとのバインディングが発生します。
詳細 | |||||
---|---|---|---|---|---|
パラメーター |
| ||||
戻り値 |
|
初期化
WEAVE_ERROR Init( const uint64_t & aPeerNodeId, uint8_t aTransport )
初期化結合ピアID及び輸送に基づいてオブジェクトを。
詳細 | |||||
---|---|---|---|---|---|
パラメーター |
| ||||
戻り値 |
|
初期化
WEAVE_ERROR Init( const uint64_t & aServiceEpt, WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode )
初期化バインディングサービスエンドポイントにオブジェクトを。
これは、Nestサービスの特定のエンドポイントにバインドする方法です。この種のバインディングには、ローカルサービスディレクトリキャッシュへの入力または更新を含む、多段階の完了プロセスが必要です。ほとんどの場合、このプロセスはアプリケーションから隠されていますが、プロセスの後半で発生するエラーは、通常は関連する「確認」コールバックを介して、元の使用要求(および完了)の後に配信される可能性があることを意味します。バインディング。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメーター |
| ||||||
戻り値 |
|
初期化
WEAVE_ERROR Init( WeaveConnection *aConnection )
初期化バインディングを持つオブジェクトWeaveConnectionを。
詳細 | |||||
---|---|---|---|---|---|
パラメーター |
| ||||
戻り値 |
|
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を()エラーのクリーンアップの一環として。
詳細 | |||
---|---|---|---|
パラメーター |
|
UncompleteRequest(void)