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

Resumen

Constructores y destructores

WeaveTunnelControl(void)

Tipos públicos

TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus) typedef
void(*
Puntero de función al controlador establecido por una capa superior para actuar cuando se recibe un mensaje StatusReport en respuesta a un mensaje de control de túneles enviado.

Atributos públicos

OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t
Es el tiempo de espera(en segundos) de las respuestas para controlar los mensajes.
mShortcutTunnelAdvInterval
uint16_t
Intervalo en segundos para anuncios periódicos de túnel de atajos

Funciones públicas

Close(void)
Cierra WeaveTunnelControl. Para ello, cierra cualquier contexto de intercambio pendiente y restablece los miembros.
DisableShortcutTunneling(void)
void
Inhabilita la tunelización de atajos para el envío de anuncios desde la puerta de enlace fronteriza o el cliente móvil y también para escuchar anuncios de contrapartes de túneles de acceso directo.
EnableShortcutTunneling(void)
void
Habilita la tunelización de accesos directos mediante el envío de anuncios desde la puerta de enlace fronteriza o el cliente móvil y también escuchando los anuncios de sus contrapartes de túneles de acceso directo.
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
Inicializa WeaveTunnelControl para establecer miembros relevantes, como el agente de túnel de Weave y las devoluciones de llamada.
IsPeerInShortcutTunnelCache(uint64_t peerId)
bool
Verifica si el par está presente en la caché de atajos del túnel para enviar de forma local.
Reconnect(WeaveTunnelConnectionMgr *conMgr)
Vuelve a conectarte con el nodo de intercambio de tráfico.
SendBorderRouterAdvertise(void)
Envía un mensaje de publicidad del router de borde para promocionar el ID de la estructura.
SendMessageOverTunnelShortcut(uint64_t peerId, WeaveMessageInfo *msgHdr, PacketBuffer *msg)
Envía un mensaje a través del acceso directo del túnel.
SendMobileClientAdvertise(void)
Envía un mensaje de publicidad de cliente móvil para publicitar su ID de nodo.
SendTunnelClose(WeaveTunnelConnectionMgr *conMgr)
Envía un mensaje de control de cierre de túnel al nodo de intercambio de tráfico con un conjunto de rutas de túnel.
SendTunnelOpen(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Envía un mensaje de control de apertura de túnel al nodo de intercambio de tráfico con un conjunto de rutas de túnel.
SendTunnelRouteUpdate(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Envía un mensaje de control de actualización de ruta de túnel al nodo de intercambio de tráfico con un conjunto de rutas de túnel.

Funciones estáticas públicas

HandleShortcutTunnelAdvertiseMessage(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
Es una función registrada con WeaveMessageLayer para escuchar anuncios de túnel de acceso directo y actualizar la caché.

Tipos públicos

TunnelStatusRcvdFunct

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

Puntero de función al controlador establecido por una capa superior para actuar cuando se recibe un mensaje StatusReport en respuesta a un mensaje de control de túneles enviado.

Detalles
Parámetros
[in] tType
El tipo de túnel, es decir, Principal o de respaldo.
[in] tunStatus
Una referencia al mensaje StatusReport de control de túneles.

Atributos públicos

OnTunStatusRcvd

TunnelStatusRcvdFunct OnTunStatusRcvd

mCtrlResponseTimeout

uint16_t mCtrlResponseTimeout

Es el tiempo de espera(en segundos) de las respuestas para controlar los mensajes.

mShortcutTunnelAdvInterval

uint16_t mShortcutTunnelAdvInterval

Intervalo en segundos para anuncios periódicos de túnel de atajos

Funciones públicas

Cerrar

WEAVE_ERROR Close(
  void
)

Cierra WeaveTunnelControl. Para ello, cierra cualquier contexto de intercambio pendiente y restablece los miembros.

Detalles
Qué muestra
WEAVE_NO_ERROR.

DisableShortcutTunneling

void DisableShortcutTunneling(
  void
)

Inhabilita la tunelización de atajos para el envío de anuncios desde la puerta de enlace fronteriza o el cliente móvil y también para escuchar anuncios de contrapartes de túneles de acceso directo.

EnableShortcutTunneling

void EnableShortcutTunneling(
  void
)

Habilita la tunelización de accesos directos mediante el envío de anuncios desde la puerta de enlace fronteriza o el cliente móvil y también escuchando los anuncios de sus contrapartes de túneles de acceso directo.

Init

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelStatusRcvdFunct statusRcvd
)

Inicializa WeaveTunnelControl para establecer miembros relevantes, como el agente de túnel de Weave y las devoluciones de llamada.

Detalles
Parámetros
[in] tunAgent
Un puntero para el objeto WeaveTunnelAgent.
[in] statusRcvd
Un puntero para una devolución de llamada para el controlador StatusRcvd.
Qué muestra
WEAVE_NO_ERROR

IsPeerInShortcutTunnelCache

bool IsPeerInShortcutTunnelCache(
  uint64_t peerId
)

Verifica si el par está presente en la caché de atajos del túnel para enviar de forma local.

Volver a conectar

WEAVE_ERROR Reconnect(
  WeaveTunnelConnectionMgr *conMgr
)

Vuelve a conectarte con el nodo de intercambio de tráfico.

SendBorderRouterAdvertise

WEAVE_ERROR SendBorderRouterAdvertise(
  void
)

Envía un mensaje de publicidad del router de borde para promocionar el ID de la estructura.

SendMessageOverTunnelShortcut

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

Envía un mensaje a través del acceso directo del túnel.

SendMobileClientAdvertise

WEAVE_ERROR SendMobileClientAdvertise(
  void
)

Envía un mensaje de publicidad de cliente móvil para publicitar su ID de nodo.

SendTunnelClose

WEAVE_ERROR SendTunnelClose(
  WeaveTunnelConnectionMgr *conMgr
)

Envía un mensaje de control de cierre de túnel al nodo de intercambio de tráfico con un conjunto de rutas de túnel.

Envía un mensaje de control de cierre de túnel al nodo de par.

Detalles
Parámetros
[in] conMgr
Un puntero para el objeto WeaveTunnelConnectionMgr.
Qué muestra
WEAVE_ERROR WEAVE_NO_ERROR si se realiza correctamente; de lo contrario, se produce un error.

SendTunnelOpen

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Envía un mensaje de control de apertura de túnel al nodo de intercambio de tráfico con un conjunto de rutas de túnel.

Detalles
Parámetros
[in] conMgr
Un puntero para el objeto WeaveTunnelConnectionMgr.
[in] tunRoutes
Lista de rutas de prefijos para agregar a la tabla de rutas.
Qué muestra
WEAVE_ERROR WEAVE_NO_ERROR si se realiza correctamente; de lo contrario, se produce un error.

SendTunnelRouteUpdate

WEAVE_ERROR SendTunnelRouteUpdate(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Envía un mensaje de control de actualización de ruta de túnel al nodo de intercambio de tráfico con un conjunto de rutas de túnel.

Detalles
Parámetros
[in] conMgr
Un puntero para el objeto WeaveTunnelConnectionMgr.
[in] tunRoutes
Lista de rutas de prefijos para agregar a la tabla de rutas.
Qué muestra
WEAVE_ERROR WEAVE_NO_ERROR si se realiza correctamente; de lo contrario, se produce un error.

WeaveTunnelControl

 WeaveTunnelControl(
  void
)

Funciones estáticas públicas

HandleShortcutTunnelAdvertiseMessage

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

Es una función registrada con WeaveMessageLayer para escuchar anuncios de túnel de acceso directo y actualizar la caché.