透過集合功能整理內容 你可以依據偏好儲存及分類內容。

NL::編織::簡介::編織隧道::編織隧道控制

概括

構造函數和析構函數

WeaveTunnelControl (void)

公共類型

TunnelStatusRcvdFunct )(uint8_t tType, StatusReport &tunStatus)類型定義
void(*
指向由更高層設置的處理程序的函數指針,用於在收到 StatusReport 消息以響應發送的隧道控制消息。

公共屬性

OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t
響應控制消息的超時(以秒為單位)。
mShortcutTunnelAdvInterval
uint16_t
週期性快捷隧道廣告的時間間隔(以秒為單位)。

公共職能

Close (void)
關閉WeaveTunnelControl通過關閉任何未兌換的背景和重置成員。
DisableShortcutTunneling (void)
void
禁用從邊界網關或移動客戶端發送廣告的快捷隧道,並從快捷隧道對應方收聽廣告。
EnableShortcutTunneling (void)
void
通過從邊界網關或移動客戶端發送廣告並偵聽來自捷徑隧道對應方的廣告來啟用捷徑隧道。
Init ( WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
初始化WeaveTunnelControl設置相關成員像編織隧道代理和回調。
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)
使用一組隧道路由向對等節點發送 Tunnel Open 控制消息。
SendTunnelRouteUpdate ( WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
使用一組隧道路由向對等節點發送隧道路由更新控制消息。

公共靜態函數

HandleShortcutTunnelAdvertiseMessage ( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
功能與註冊WeaveMessageLayer收聽快捷隧道advertisments和更新緩存。

公共類型

隧道狀態RcvdFunct

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

指向由更高層設置的處理程序的函數指針,用於在收到 StatusReport 消息以響應發送的隧道控制消息。

細節
參數
[in] tType
隧道類型,即主要或備份。
[in] tunStatus
對隧道控制狀態報告消息的引用。

公共屬性

OnTunStatusRcvd

TunnelStatusRcvdFunct OnTunStatusRcvd

mCtrl 響應超時

uint16_t mCtrlResponseTimeout

響應控制消息的超時(以秒為單位)。

mShortcutTunnelAdvInterval

uint16_t mShortcutTunnelAdvInterval

週期性快捷隧道廣告的時間間隔(以秒為單位)。

公共職能

關閉

WEAVE_ERROR Close(
  void
)

關閉WeaveTunnelControl通過關閉任何未兌換的背景和重置成員。

細節
退貨
WEAVE_NO_ERROR。

禁用快捷方式隧道

void DisableShortcutTunneling(
  void
)

禁用從邊界網關或移動客戶端發送廣告的快捷隧道,並從快捷隧道對應方收聽廣告。

啟用快捷方式隧道

void EnableShortcutTunneling(
  void
)

通過從邊界網關或移動客戶端發送廣告並偵聽來自捷徑隧道對應方的廣告來啟用捷徑隧道。

在裡面

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelStatusRcvdFunct statusRcvd
)

初始化WeaveTunnelControl設置相關成員像編織隧道代理和回調。

細節
參數
[in] tunAgent
的指針WeaveTunnelAgent對象。
[in] statusRcvd
指向 StatusRcvd 處理程序回調的指針。
退貨
WEAVE_NO_ERROR

IsPeerInShortcutTunnelCache

bool IsPeerInShortcutTunnelCache(
  uint64_t peerId
)

驗證對等體是否存在於用於本地發送的隧道快捷方式緩存中。

重新連接

WEAVE_ERROR Reconnect(
  WeaveTunnelConnectionMgr *conMgr
)

重新連接對等節點。

發送邊界路由器廣告

WEAVE_ERROR SendBorderRouterAdvertise(
  void
)

發送邊界路由器通告消息,通告其結構 ID。

SendMessageOverTunnelShortcut

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

通過隧道快捷方式發送消息。

發送移動客戶端廣告

WEAVE_ERROR SendMobileClientAdvertise(
  void
)

發送移動客戶端廣告消息,廣告其節點 ID。

發送隧道關閉

WEAVE_ERROR SendTunnelClose(
  WeaveTunnelConnectionMgr *conMgr
)

使用一組隧道路由向對等節點發送隧道關閉控制消息。

向對等節點發送隧道關閉控制消息。

細節
參數
[in] conMgr
的指針WeaveTunnelConnectionMgr對象。
退貨
WEAVE_ERROR WEAVE_NO_ERROR 成功,否則錯誤。

發送隧道打開

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

使用一組隧道路由向對等節點發送 Tunnel Open 控制消息。

細節
參數
[in] conMgr
的指針WeaveTunnelConnectionMgr對象。
[in] tunRoutes
要添加到路由表的前綴路由列表。
退貨
WEAVE_ERROR WEAVE_NO_ERROR 成功,否則錯誤。

發送隧道路由更新

WEAVE_ERROR SendTunnelRouteUpdate(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

使用一組隧道路由向對等節點發送隧道路由更新控制消息。

細節
參數
[in] conMgr
的指針WeaveTunnelConnectionMgr對象。
[in] tunRoutes
要添加到路由表的前綴路由列表。
退貨
WEAVE_ERROR WEAVE_NO_ERROR 成功,否則錯誤。

編織隧道控制

 WeaveTunnelControl(
  void
)

公共靜態函數

HandleShortcutTunnelAdvertiseMessage

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

功能與註冊WeaveMessageLayer收聽快捷隧道advertisments和更新緩存。