nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelControl
摘要
构造函数和析构函数 |
|
---|---|
WeaveTunnelControl(void)
|
公共类型 |
|
---|---|
TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus)
|
typedefvoid(*
指向由更高层设置的处理程序的函数指针,以便在收到 StatusReport 消息以响应发送的隧道控制消息时执行操作。 |
公共属性 |
|
---|---|
OnTunStatusRcvd
|
|
mCtrlResponseTimeout
|
uint16_t
控制消息的响应的超时时间(以秒为单位)。
|
mShortcutTunnelAdvInterval
|
uint16_t
定期快捷方式隧道通告的时间间隔(以秒为单位)。
|
公共函数 |
|
---|---|
Close(void)
|
通过关闭所有待处理的广告交易平台上下文并重置成员来关闭 WeaveTunnelControl。
|
DisableShortcutTunneling(void)
|
void
停用从边界网关或移动客户端发送广告的快捷方式隧道,以及监听来自快捷方式隧道对等方的广告。
|
EnableShortcutTunneling(void)
|
void
通过从边界网关或移动客户端发送广告并监听快捷方式隧道对应方的广告,启用快捷方式隧道。
|
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
|
初始化 WeaveTunnelControl 以设置相关成员,例如 Weave Tunnel Agent 和回调。
|
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 注册的函数,用于监听 Shortcut 隧道广告并更新缓存。
|
公共类型
TunnelStatusRcvdFunct
void(* TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus)
指向由更高层设置的处理程序的函数指针,以便在收到 StatusReport 消息以响应发送的隧道控制消息时执行操作。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
公共属性
OnTunStatusRcvd
TunnelStatusRcvdFunct OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t mCtrlResponseTimeout
控制消息的响应的超时时间(以秒为单位)。
mShortcutTunnelAdvInterval
uint16_t mShortcutTunnelAdvInterval
定期快捷方式隧道通告的时间间隔(以秒为单位)。
公共函数
关闭
WEAVE_ERROR Close( void )
DisableShortcutTunneling
void DisableShortcutTunneling( void )
停用从边界网关或移动客户端发送广告的快捷方式隧道,以及监听来自快捷方式隧道对等方的广告。
EnableShortcutTunneling
void EnableShortcutTunneling( void )
通过从边界网关或移动客户端发送广告并监听快捷方式隧道对应方的广告,启用快捷方式隧道。
Init
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd )
初始化 WeaveTunnelControl 以设置相关成员,例如 Weave Tunnel Agent 和回调。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
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 注册的函数,用于监听 Shortcut 隧道广告并更新缓存。