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 de StatusReport en respuesta a un mensaje de control de túnel 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úneles de atajos.

Funciones públicas

Close(void)
Cierra WeaveTunnelControl. Para ello, cierra los contextos de intercambio pendientes y restablece los miembros.
DisableShortcutTunneling(void)
void
Inhabilita la tunelización de accesos directos para enviar anuncios desde la puerta de enlace de frontera o el cliente de dispositivos móviles, y también para escuchar anuncios de contrapartes de túneles de atajos.
EnableShortcutTunneling(void)
void
Habilita la tunelización de accesos directos mediante el envío de anuncios desde la puerta de enlace de frontera o el cliente de dispositivos móviles, y también escucha los anuncios de los equivalentes de túneles de atajos.
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
Inicializa WeaveTunnelControl para configurar miembros relevantes, como el agente de Weave Tunnel y las devoluciones de llamada.
IsPeerInShortcutTunnelCache(uint64_t peerId)
bool
Verifica si el intercambio de tráfico está presente en la caché del acceso directo del túnel para enviar mensajes de forma local.
Reconnect(WeaveTunnelConnectionMgr *conMgr)
Vuelve a conectarte con el nodo de par.
SendBorderRouterAdvertise(void)
Envía un mensaje publicitario del router de borde que anuncia su ID de tela.
SendMessageOverTunnelShortcut(uint64_t peerId, WeaveMessageInfo *msgHdr, PacketBuffer *msg)
Envía un mensaje a través del acceso directo del túnel.
SendMobileClientAdvertise(void)
Enviar a un cliente de dispositivo móvil un mensaje publicitario en el que se promocione 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 túnel abierto 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 la 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 atajos 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 de StatusReport en respuesta a un mensaje de control de túnel enviado.

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

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úneles de atajos.

Funciones públicas

Cerrar

WEAVE_ERROR Close(
  void
)

Cierra WeaveTunnelControl. Para ello, cierra los contextos de intercambio pendientes y restablece los miembros.

Detalles
Resultado que se muestra
WEAVE_NO_ERROR

DisableShortcutTunneling

void DisableShortcutTunneling(
  void
)

Inhabilita la tunelización de accesos directos para enviar anuncios desde la puerta de enlace de frontera o el cliente de dispositivos móviles, y también para escuchar anuncios de contrapartes de túneles de atajos.

EnableShortcutTunneling

void EnableShortcutTunneling(
  void
)

Habilita la tunelización de accesos directos mediante el envío de anuncios desde la puerta de enlace de frontera o el cliente de dispositivos móviles, y también escucha los anuncios de los equivalentes de túneles de atajos.

Init

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelStatusRcvdFunct statusRcvd
)

Inicializa WeaveTunnelControl para configurar miembros relevantes, como el agente de Weave Tunnel y las devoluciones de llamada.

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

IsPeerInShortcutTunnelCache

bool IsPeerInShortcutTunnelCache(
  uint64_t peerId
)

Verifica si el intercambio de tráfico está presente en la caché del acceso directo del túnel para enviar mensajes de forma local.

Volver a conectar

WEAVE_ERROR Reconnect(
  WeaveTunnelConnectionMgr *conMgr
)

Vuelve a conectarte con el nodo de par.

SendBorderRouterAdvertise

WEAVE_ERROR SendBorderRouterAdvertise(
  void
)

Envía un mensaje publicitario del router de borde que anuncia su ID de tela.

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
)

Enviar a un cliente de dispositivo móvil un mensaje publicitario en el que se promocione 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 intercambio de tráfico.

Detalles
Parámetros
[in] conMgr
Un puntero para el objeto WeaveTunnelConnectionMgr.
Resultado que se muestra
WEAVE_ERROR WEAVE_NO_ERROR si la operación es correcta; de lo contrario, es un error.

SendTunnelOpen

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Envía un mensaje de control de túnel abierto 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 con prefijos para agregar a la tabla de rutas.
Resultado que se muestra
WEAVE_ERROR WEAVE_NO_ERROR si la operación es correcta; de lo contrario, es un error.

SendTunnelRouteUpdate

WEAVE_ERROR SendTunnelRouteUpdate(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Envía un mensaje de control de actualización de la 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 con prefijos para agregar a la tabla de rutas.
Resultado que se muestra
WEAVE_ERROR WEAVE_NO_ERROR si la operación es correcta; de lo contrario, es 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 atajos y actualizar la caché.