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

摘要

建構函式和解構函式

WeaveTunnelControl(void)

公開類型

TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus) typedef
void(*
這個函式指標適用於由較高層設定的處理常式,用於在收到 StatusReport 訊息時,回應所傳送的 Tunnel 控制訊息。

公開屬性

OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t
回應控制訊息的逾時時間(以秒為單位)。
mShortcutTunnelAdvInterval
uint16_t
定期捷徑通道通告的間隔秒數。

公開函式

Close(void)
關閉所有待處理的廣告交易平台環境並重設成員,關閉 WeaveTunnelControl
DisableShortcutTunneling(void)
void
停用透過邊界閘道或行動用戶端傳送廣告的捷徑通道,同時監聽快速通道對應程式的廣告。
EnableShortcutTunneling(void)
void
透過邊界閘道或行動用戶端傳送廣告,以及監聽快速通道對應程式的廣告,藉此啟用快速通道。
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
初始化 WeaveTunnelControl,設定相關成員,例如 Weave Tunnel 代理程式和回呼。
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)
將 Tunnel Close 控制訊息傳送至含有一組通道路徑的對等節點。
SendTunnelOpen(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
傳送 Tunnel Open Control 訊息至含有一組通道路徑的對等節點。
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 訊息時,回應所傳送的 Tunnel 控制訊息。

詳細資料
參數
[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 Tunnel 代理程式和回呼。

詳細資料
參數
[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
)

將 Tunnel Close 控制訊息傳送至含有一組通道路徑的對等節點。

傳送 Tunnel Close 控制訊息至對等節點。

詳細資料
參數
[in] conMgr
指向 WeaveTunnelConnectionMgr 物件的指標。
傳回
成功時出現 WEAVE_ERROR WEAVE_NO_ERROR,其他錯誤。

SendTunnelOpen

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

傳送 Tunnel Open Control 訊息至含有一組通道路徑的對等節點。

詳細資料
參數
[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 註冊的函式,用於監聽快速指令通道廣告並更新快取。