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

概要

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

WeaveTunnelControl(void)

パブリック タイプ

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

パブリック属性

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

パブリック関数

Close(void)
未処理のエクスチェンジ コンテキストをすべて閉じてメンバーをリセットして、WeaveTunnelControl を閉じます。
DisableShortcutTunneling(void)
void
ボーダー ゲートウェイまたはモバイル クライアントから広告を送信し、ショートカット トンネル側からの広告をリッスンするショートカット トンネリングを無効にします。
EnableShortcutTunneling(void)
void
ショートカット トンネリングを有効にするには、ボーダー ゲートウェイまたはモバイル クライアントから広告を送信し、ショートカット トンネル側からの広告をリッスンします。
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)

送信された Tunnel 制御メッセージへのレスポンスとして 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
)

ボーダー ゲートウェイまたはモバイル クライアントから広告を送信し、ショートカット トンネル側からの広告をリッスンするショートカット トンネリングを無効にします。

EnableShortcutTunneling

void EnableShortcutTunneling(
  void
)

ショートカット トンネリングを有効にするには、ボーダー ゲートウェイまたはモバイル クライアントから広告を送信し、ショートカット トンネル側からの広告をリッスンします。

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 に登録された関数。