nl::Weave::Profiles::WeaveTunnel::WeaveTunnelControl

概要

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

WeaveTunnelControl(void)

公開タイプ

TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus) typedef
void(*
送信されたトンネル制御メッセージに応じて StatusReport メッセージを受信したときに動作するように上位レイヤによって設定されたハンドラへの関数ポインタ。

パブリック属性

OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t
レスポンスに対する制御メッセージのタイムアウト(秒単位)。
mShortcutTunnelAdvInterval
uint16_t
定期的なショートカット トンネル アドバタイズの間隔(秒)。

パブリック関数

Close(void)
未解決のエクスチェンジのコンテキストをすべて閉じ、メンバーをリセットして、WeaveTunnelControl を閉じます。
DisableShortcutTunneling(void)
void
Border Gateway またはモバイル クライアントから広告を送信し、ショートカット トンネルに対応する広告もリッスンする、ショートカット トンネリングを無効にします。
EnableShortcutTunneling(void)
void
Border Gateway またはモバイル クライアントから広告を送信し、ショートカット トンネルの対応する広告もリッスンすることで、ショートカット トンネリングを有効にします。
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
WeaveTunnelControl を初期化して、Weave トンネル エージェントやコールバックなどの関連するメンバーを設定します。
IsPeerInShortcutTunnelCache(uint64_t peerId)
bool
ローカルで送信するためのトンネル ショートカット キャッシュにピアが存在するかどうかを確認します。
Reconnect(WeaveTunnelConnectionMgr *conMgr)
ピアノードに再接続します。
SendBorderRouterAdvertise(void)
ファブリック ID をアドバタイズするボーダー ルーター アドバタイズ メッセージを送信します。
SendMessageOverTunnelShortcut(uint64_t peerId, WeaveMessageInfo *msgHdr, PacketBuffer *msg)
トンネルのショートカットでメッセージを送信する。
SendMobileClientAdvertise(void)
ノード ID をアドバタイズするモバイル クライアントにアドバタイズ メッセージを送信します。
SendTunnelClose(WeaveTunnelConnectionMgr *conMgr)
トンネル ルートのセットを使用してピアノードにトンネル終了制御メッセージを送信します。
SendTunnelOpen(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
トンネル ルートのセットを含むピアノードにトンネル オープン制御メッセージを送信します。
SendTunnelRouteUpdate(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
トンネルルートのセットを含むピアノードにトンネルルート更新制御メッセージを送信します。

静的パブリック関数

HandleShortcutTunnelAdvertiseMessage(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
ショートカット トンネルの広告をリッスンし、キャッシュを更新するために、WeaveMessageLayer で登録された関数。

公開タイプ

TunnelStatusRcvdFunct

void(* TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus)

送信されたトンネル制御メッセージに応じて StatusReport メッセージを受信したときに動作するように上位レイヤによって設定されたハンドラへの関数ポインタ。

詳細
パラメータ
[in] tType
トンネルタイプ([プライマリ] または [バックアップ] を選択します。
[in] tunStatus
トンネル コントロールの StatusReport メッセージへの参照。

パブリック属性

OnTunStatusRcvd

TunnelStatusRcvdFunct OnTunStatusRcvd

mCtrlResponseTimeout

uint16_t mCtrlResponseTimeout

レスポンスに対する制御メッセージのタイムアウト(秒単位)。

mShortcutTunnelAdvInterval

uint16_t mShortcutTunnelAdvInterval

定期的なショートカット トンネル アドバタイズの間隔(秒)。

パブリック関数

閉じる

WEAVE_ERROR Close(
  void
)

未解決のエクスチェンジのコンテキストをすべて閉じ、メンバーをリセットして、WeaveTunnelControl を閉じます。

詳細
戻り値
WEAVE_NO_ERROR。

DisableShortcutTunneling

void DisableShortcutTunneling(
  void
)

Border Gateway またはモバイル クライアントから広告を送信し、ショートカット トンネル側のアドバタイズメントをリッスンする、ショートカット トンネリングを無効にします。

EnableShortcutTunneling

void EnableShortcutTunneling(
  void
)

Border Gateway またはモバイル クライアントから広告を送信し、ショートカット トンネルの対応する広告もリッスンすることで、ショートカット トンネリングを有効にします。

init

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelStatusRcvdFunct statusRcvd
)

WeaveTunnelControl を初期化して、Weave トンネル エージェントやコールバックなどの関連するメンバーを設定します。

詳細
パラメータ
[in] tunAgent
WeaveTunnelAgent オブジェクトへのポインタ。
[in] statusRcvd
StatusRcvd ハンドラのコールバックへのポインタ。
戻り値
WEAVE_NO_ERROR

IsPeerInShortcutTunnelCache

bool IsPeerInShortcutTunnelCache(
  uint64_t peerId
)

ローカルで送信するためのトンネル ショートカット キャッシュにピアが存在するかどうかを確認します。

再接続

WEAVE_ERROR Reconnect(
  WeaveTunnelConnectionMgr *conMgr
)

ピアノードに再接続します。

SendBorderRouterAdvertise

WEAVE_ERROR SendBorderRouterAdvertise(
  void
)

ファブリック ID をアドバタイズするボーダー ルーター アドバタイズ メッセージを送信します。

SendMessageOverTunnelShortcut

WEAVE_ERROR SendMessageOverTunnelShortcut(
  uint64_t peerId,
  WeaveMessageInfo *msgHdr,
  PacketBuffer *msg
)

トンネルのショートカットでメッセージを送信する。

SendMobileClientAdvertise

WEAVE_ERROR SendMobileClientAdvertise(
  void
)

ノード ID をアドバタイズするモバイル クライアントにアドバタイズ メッセージを送信します。

SendTunnelClose

WEAVE_ERROR SendTunnelClose(
  WeaveTunnelConnectionMgr *conMgr
)

トンネル ルートのセットを使用してピアノードにトンネル終了制御メッセージを送信します。

トンネルのクローズ制御メッセージをピアノードに送信します。

詳細
パラメータ
[in] conMgr
WeaveTunnelConnectionMgr オブジェクトへのポインタ。
戻り値
成功した場合は WEAVE_ERROR、WEAVE_NO_ERROR、それ以外の場合はエラー。

SendTunnelOpen

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

トンネル ルートのセットを含むピアノードにトンネル オープン制御メッセージを送信します。

詳細
パラメータ
[in] conMgr
WeaveTunnelConnectionMgr オブジェクトへのポインタ。
[in] tunRoutes
ルートテーブルに追加するプレフィックス ルートのリスト。
戻り値
成功した場合は WEAVE_ERROR、WEAVE_NO_ERROR、それ以外の場合はエラー。

SendTunnelRouteUpdate

WEAVE_ERROR SendTunnelRouteUpdate(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

トンネルルートのセットを含むピアノードにトンネルルート更新制御メッセージを送信します。

詳細
パラメータ
[in] conMgr
WeaveTunnelConnectionMgr オブジェクトへのポインタ。
[in] tunRoutes
ルートテーブルに追加するプレフィックス ルートのリスト。
戻り値
成功した場合は WEAVE_ERROR、WEAVE_NO_ERROR、それ以外の場合はエラー。

WeaveTunnelControl

 WeaveTunnelControl(
  void
)

静的パブリック関数

HandleShortcutTunnelAdvertiseMessage

void HandleShortcutTunnelAdvertiseMessage(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

ショートカット トンネルの広告をリッスンし、キャッシュを更新するために、WeaveMessageLayer で登録された関数。