nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelControl
摘要
建構函式和解構函式 |
|
---|---|
WeaveTunnelControl(void)
|
公開類型 |
|
---|---|
TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus)
|
typedefvoid(*
由較高層設定的處理常式的函式指標,用於在收到 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 通道代理程式和回呼等相關成員。
|
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 訊息以回應傳送的 Tunnel 控制項訊息時採取動作。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
公開屬性
OnTunStatusRcvd
TunnelStatusRcvdFunct OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t mCtrlResponseTimeout
回應控制訊息的回應逾時時間(以秒為單位)。
mShortcutTunnelAdvInterval
uint16_t mShortcutTunnelAdvInterval
定期捷徑通道廣告的間隔時間,單位為秒。
公用函式
DisableShortcutTunneling
void DisableShortcutTunneling( void )
停用從邊界閘道或行動用戶端傳送廣告的捷徑通道,並聆聽來自捷徑通道對應廣告的廣告。
EnableShortcutTunneling
void EnableShortcutTunneling( void )
透過邊界閘道或行動用戶端傳送廣告,並聆聽來自快速鍵通道的廣告,來啟用捷徑通道。
Init
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd )
初始化 WeaveTunnelControl,以便設定 Weave 通道代理程式和回呼等相關成員。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
WEAVE_NO_ERROR
|
IsPeerInShortcutTunnelCache
bool IsPeerInShortcutTunnelCache( uint64_t peerId )
確認對等端是否位於通道捷徑快取中,以便在本機傳送。
SendMessageOverTunnelShortcut
WEAVE_ERROR SendMessageOverTunnelShortcut( uint64_t peerId, WeaveMessageInfo *msgHdr, PacketBuffer *msg )
透過通道捷徑傳送訊息。
SendTunnelClose
WEAVE_ERROR SendTunnelClose( WeaveTunnelConnectionMgr *conMgr )
將「通道關閉」控制訊息傳送至具有一組通道路徑的對等互連節點。
將「通道關閉」控制訊息傳送給對等互連節點。
詳細說明 | |||
---|---|---|---|
參數 |
|
||
傳回 |
WEAVE_ERROR WEAVE_NO_ERROR 成功時,其他錯誤。
|
SendTunnelOpen
WEAVE_ERROR SendTunnelOpen( WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute )
將「通道開啟」控制訊息傳送至有一組通道路徑的對等互連節點。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
WEAVE_ERROR WEAVE_NO_ERROR 成功時,其他錯誤。
|
SendTunnelRouteUpdate
WEAVE_ERROR SendTunnelRouteUpdate( WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute )
將「通道更新」控制訊息傳送至含有一組通道路徑的對等互連節點。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
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 註冊的函式,以監聽捷徑通道廣告並更新快取。