nl ::織り:: WeaveExchangeManager

#include <src/lib/core/WeaveExchangeMgr.h>

このクラスは、他のWeaveノードとのExchangeContextを管理するために使用されます。

概要

これは、上位層に代わって機能し、ExchangeContext を作成し、迷惑メッセージ ハンドラーの登録/登録解除を処理します。

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

WeaveExchangeManager (void)
コンストラクタWeaveExchangeManagerのクラス。

パブリックタイプ

State {
kState_NotInitialized = 0,
kState_Initialized = 1
}
列挙型

パブリック属性

FabricState
[読み取り専用]関連するFabricStateオブジェクト。
MessageLayer
[READ ONLY]関連WeaveMessageLayerのオブジェクト。
State
uint8_t
[READ ONLY]状態WeaveExchangeManagerのオブジェクト。

公の行事

AllowUnsolicitedMessages ( WeaveConnection *con)
void
指定された接続で一方的なメッセージを受信できるようにします。
ClearMsgCounterSyncReq (uint64_t peerNodeId)
void
そのピアへのすべての保留中のメッセージのMsgCounterSyncReqフラグをクリアします。
FindContext (uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
検索ExchangeContextのパラメータの特定のセットに一致するプールから。
Init ( WeaveMessageLayer *msgLayer)
初期化WeaveExchangeManagerのオブジェクトを。
NewBinding (Binding::EventCallback eventCallback, void *appState)
新しい割り当てバインディングを指定された引数で。
NewContext (const uint64_t & peerNodeId, void *appState)
新規作成ExchangeContextをピア・ノード識別子によって指定された所与のピア織りノードと。
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
新規作成ExchangeContextをピア・ノード識別子とピアIPアドレスによって指定された所与のピア織りノードと。
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
新規作成ExchangeContextは、指定されたインターフェイス上のピア・ノード識別子、ピアIPアドレス、および宛先ポートで指定された所与のピア織りノードと。
NewContext ( WeaveConnection *con, void *appState)
新しい作成ExchangeContextを指定の上に与えられたピアウィーブ・ノードとWeaveConnection
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
指定されたプロファイル識別子の一方的なメッセージハンドラーを登録します。
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
指定されたプロファイル識別子の一方的なメッセージハンドラーを登録します。
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
特定のプロファイル識別子とメッセージタイプの一方的なメッセージハンドラーを登録します。
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
特定のプロファイル識別子とメッセージタイプの一方的なメッセージハンドラーを登録します。
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
指定されたプロファイル識別子、指定されたWeave接続のメッセージタイプの非送信請求メッセージハンドラーを登録します。
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
指定されたプロファイル識別子、指定されたWeave接続のメッセージタイプの非送信請求メッセージハンドラーを登録します。
Shutdown (void)
シャットダウンWeaveExchangeManager
UnregisterUnsolicitedMessageHandler (uint32_t profileId)
指定されたプロファイル識別子の一方的なメッセージハンドラーの登録を解除します。
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType)
特定のプロファイル識別子とメッセージタイプの一方的なメッセージハンドラーの登録を解除します。
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con)
特定のプロファイル識別子、メッセージタイプ、およびウィーブ接続の一方的なメッセージハンドラーの登録を解除します。

パブリックタイプ

状態

 State
プロパティ
kState_Initialized

ことを示すために使用WeaveExchangeManagerが初期化されます。

kState_NotInitialized

ことを示すために使用WeaveExchangeManagerが初期化されていません。

パブリック属性

ファブリックの状態

WeaveFabricState * FabricState

[読み取り専用]関連するFabricStateオブジェクト。

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY]関連WeaveMessageLayerのオブジェクト。

状態

uint8_t State

[READ ONLY]状態WeaveExchangeManagerのオブジェクト。

公の行事

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

指定された接続で一方的なメッセージを受信できるようにします。

このメソッドは、指定されたWeave接続にメッセージ受信ハンドラーを設定します。

詳細
パラメーター
[in] con
Weave接続オブジェクトへのポインタ。

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

そのピアへのすべての保留中のメッセージのMsgCounterSyncReqフラグをクリアします。

詳細
パラメーター
[in] peerNodeId
宛先ノードのノードID。

FindContext

ExchangeContext * FindContext(
  uint64_t peerNodeId,
  WeaveConnection *con,
  void *appState,
  bool isInitiator
)

検索ExchangeContextのパラメータの特定のセットに一致するプールから。

詳細
パラメーター
[in] peerNodeId
そのピアのノード識別子ExchangeContextが設定されています。
[in] con
ポインタWeaveConnectionのピアとのTCP接続を表すオブジェクト。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
[in] isInitiator
ローカルノードが交換のイニシエーターであるかどうかのブールインジケーター。
戻り値
ポインタExchangeContextの不一致に成功した、NULLに設けられたパラメータに一致するオブジェクト。

初期化

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

初期化WeaveExchangeManagerのオブジェクトを。

このインスタンスの存続期間内に、このメソッドは、オブジェクトの構築後、Shutdownが呼び出されてインスタンスが終了するまで1回呼び出されます。

詳細
パラメーター
[in] msgLayer
ポインタWeaveMessageLayerのオブジェクト。
戻り値
WEAVE_ERROR_INCORRECT_STATE
状態がkState_NotInitializedと等しくない場合。
WEAVE_NO_ERROR
成功したとき。

NewBinding

Binding * NewBinding(
  Binding::EventCallback eventCallback,
  void *appState
)

新しい割り当てバインディングを指定された引数で。

詳細
パラメーター
[in] eventCallback
イベントコールバックに使用される関数ポインタ
[in] appState
後でイベントコールバックで運ばれるコンテキストへのポインタ
戻り値
新たに割り当てられへのポインタ結合、またはNULLプールが使い果たされている場合

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  void *appState
)

新規作成ExchangeContextをピア・ノード識別子によって指定された所与のピア織りノードと。

詳細
パラメーター
[in] peerNodeId
そのピアのノード識別子ExchangeContextが設定されています。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
戻り値
作成へのポインタExchangeContextの成功したオブジェクト。それ以外の場合、オブジェクトを割り当てることができないか、使用できない場合はNULL。

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  void *appState
)

新規作成ExchangeContextをピア・ノード識別子とピアIPアドレスによって指定された所与のピア織りノードと。

詳細
パラメーター
[in] peerNodeId
そのピアのノード識別子ExchangeContextが設定されています。
[in] peerAddr
ピアノードのIPアドレス。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
戻り値
作成へのポインタExchangeContextの成功したオブジェクト。それ以外の場合、オブジェクトを割り当てることができないか、使用できない場合はNULL。

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId sendIntfId,
  void *appState
)

新規作成ExchangeContextは、指定されたインターフェイス上のピア・ノード識別子、ピアIPアドレス、および宛先ポートで指定された所与のピア織りノードと。

詳細
パラメーター
[in] peerNodeId
そのピアのノード識別子ExchangeContextが設定されています。
[in] peerAddr
ピアノードのIPアドレス。
[in] peerPort
ピアノードのポート。
[in] sendIntfId
この交換でWeaveメッセージを送信するために使用するインターフェース。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
戻り値
作成へのポインタExchangeContextの成功したオブジェクト。それ以外の場合、オブジェクトを割り当てることができないか、使用できない場合はNULL。

NewContext

ExchangeContext * NewContext(
  WeaveConnection *con,
  void *appState
)

新しい作成ExchangeContextを指定の上に与えられたピアウィーブ・ノードとWeaveConnection

詳細
パラメーター
[in] con
ポインタWeaveConnectionのピアとのTCP接続を表すオブジェクト。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
戻り値
作成へのポインタExchangeContextの成功したオブジェクト。それ以外の場合、オブジェクトを割り当てることができないか、使用できない場合はNULL。

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

指定されたプロファイル識別子の一方的なメッセージハンドラーを登録します。

このハンドラーは、指定されたプロファイルのすべてのメッセージに対して呼び出されます。

詳細
パラメーター
[in] profileId
受信したメッセージのプロファイル識別子。
[in] handler
未承諾メッセージハンドラ。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
戻り値
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
未承諾メッセージハンドラプールがいっぱいで、新しいプールを割り当てることができない場合。
WEAVE_NO_ERROR
成功したとき。

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

指定されたプロファイル識別子の一方的なメッセージハンドラーを登録します。

このハンドラーは、指定されたプロファイルのすべてのメッセージに対して呼び出されます。

詳細
パラメーター
[in] profileId
受信したメッセージのプロファイル識別子。
[in] handler
未承諾メッセージハンドラ。
[in] allowDups
特定のプロファイルで重複メッセージを許可するかどうかを示すブール値インジケーター。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
戻り値
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
非送信請求メッセージ ハンドラ プールがいっぱいで、新しいものを割り当てることができない場合。
WEAVE_NO_ERROR
成功したとき。

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

特定のプロファイル識別子とメッセージタイプの一方的なメッセージハンドラーを登録します。

詳細
パラメーター
[in] profileId
受信したメッセージのプロファイル識別子。
[in] msgType
対応するプロファイルのメッセージタイプ。
[in] handler
未承諾メッセージハンドラ。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
戻り値
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
未承諾メッセージハンドラプールがいっぱいで、新しいプールを割り当てることができない場合。
WEAVE_NO_ERROR
成功したとき。

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

特定のプロファイル識別子とメッセージタイプの一方的なメッセージハンドラーを登録します。

詳細
パラメーター
[in] profileId
受信したメッセージのプロファイル識別子。
[in] msgType
対応するプロファイルのメッセージタイプ。
[in] handler
未承諾メッセージハンドラ。
[in] allowDups
特定のプロファイル識別子とメッセージタイプに対して重複メッセージを許可するかどうかを示すブールインジケータ。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
戻り値
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
未承諾メッセージハンドラプールがいっぱいで、新しいプールを割り当てることができない場合。
WEAVE_NO_ERROR
成功したとき。

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

指定されたプロファイル識別子、指定されたWeave接続のメッセージタイプの非送信請求メッセージハンドラーを登録します。

詳細
パラメーター
[in] profileId
受信したメッセージのプロファイル識別子。
[in] msgType
対応するプロファイルのメッセージ タイプ。
[in] con
ポインタWeaveConnectionのピアとのTCP接続を表すオブジェクト。
[in] handler
未承諾メッセージハンドラ。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
戻り値
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
未承諾メッセージハンドラプールがいっぱいで、新しいプールを割り当てることができない場合。
WEAVE_NO_ERROR
成功したとき。

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

指定されたプロファイル識別子、指定されたWeave接続のメッセージタイプの非送信請求メッセージハンドラーを登録します。

詳細
パラメーター
[in] profileId
受信したメッセージのプロファイル識別子。
[in] msgType
対応するプロファイルのメッセージ タイプ。
[in] con
ポインタWeaveConnectionのピアとのTCP接続を表すオブジェクト。
[in] handler
未承諾メッセージハンドラ。
[in] allowDups
指定されたプロファイル識別子、指定されたWeave接続のメッセージタイプに対して重複メッセージが許可されるかどうかのブールインジケータ。
[in] appState
コンテキスト状態を保持する上位層オブジェクトへのポインター。
戻り値
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
未承諾メッセージハンドラプールがいっぱいで、新しいプールを割り当てることができない場合。
WEAVE_NO_ERROR
成功したとき。

シャットダウン

WEAVE_ERROR Shutdown(
  void
)

シャットダウンWeaveExchangeManager

これにより、オブジェクトのこのインスタンスが終了し、保持されているすべてのリソースが解放されます。

詳細
戻り値
WEAVE_NO_ERROR無条件に。

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

指定されたプロファイル識別子の一方的なメッセージハンドラーの登録を解除します。

詳細
パラメーター
[in] profileId
受信したメッセージのプロファイル識別子。
戻り値
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
一致する一方的なメッセージハンドラーが見つからない場合。
WEAVE_NO_ERROR
成功したとき。

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

特定のプロファイル識別子とメッセージタイプの一方的なメッセージハンドラーの登録を解除します。

詳細
パラメーター
[in] profileId
受信したメッセージのプロファイル識別子。
[in] msgType
対応するプロファイルのメッセージタイプ。
戻り値
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
一致する一方的なメッセージハンドラーが見つからない場合。
WEAVE_NO_ERROR
成功したとき。

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con
)

特定のプロファイル識別子、メッセージタイプ、およびウィーブ接続の一方的なメッセージハンドラーの登録を解除します。

詳細
パラメーター
[in] profileId
受信したメッセージのプロファイル識別子。
[in] msgType
対応するプロファイルのメッセージタイプ。
[in] con
ポインタWeaveConnectionのピアとのTCP接続を表すオブジェクト。
戻り値
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
一致する一方的なメッセージハンドラーが見つからない場合。
WEAVE_NO_ERROR
成功したとき。

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

コンストラクタWeaveExchangeManagerのクラス。

状態を kState_NotInitialized に設定します。