En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

nl :: Tejido:: Perfiles: WeaveTunnel :: WeaveTunnelConnectionMgr

#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>

Esta clase encapsula todos los estados de conexión del túnel Weave y las funciones y lógica de gestión asociadas.

Resumen

Una instancia de esta clase se usaría para administrar el túnel sobre cada interfaz a través de la cual existiría el túnel Weave hacia el Servicio.

Constructores y Destructores

WeaveTunnelConnectionMgr (void)

Tipos públicos

ConnectPolicyCallback )(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) typedef
void(*
Devolución de llamada para obtener el intervalo de tiempo de espera antes de que se vuelva a conectar el siguiente túnel.
TunnelConnNotifyReasons {
kStatus_TunDown = 0,
kStatus_TunPrimaryUp = 1,
kStatus_TunPrimaryConnError = 2,
kStatus_TunBackupConnError = 3,
kStatus_TunFailoverToBackup = 4,
kStatus_TunBackupOnlyDown = 5,
kStatus_TunBackupUp = 6,
kStatus_TunPrimaryAndBackupUp = 7,
kStatus_TunPrimaryReconnectRcvd = 8,
kStatus_TunBackupReconnectRcvd = 9,
kStatus_TunPrimaryLiveness = 10,
kStatus_TunBackupLiveness = 11
}
enumeración
TunnelConnNotifyReasons typedef
TunnelConnectionState {
kState_NotConnected = 0,
kState_Connecting = 1,
kState_ConnectionEstablished = 2,
kState_TunnelOpen = 3,
kState_TunnelClosing = 4,
kState_ReconnectRecvd = 5
}
enumeración
TunnelConnectionState typedef

Atributos públicos

mServiceConnDelayPolicyCallback

Funciones publicas

Init ( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
Inicialice el WeaveTunnelConnectionMgr .
ServiceTunnelClose ( WEAVE_ERROR err)
void
Cierre el túnel de servicio.
SetInterfaceName (const char *intfName)
void
Establezca InterfaceName para la conexión del túnel.
SetInterfaceType (const SrcInterfaceType srcIntfType)
void
Establezca SrcInterfaceType para la conexión de túnel.
Shutdown (void)
void
StopAndReconnectTunnelConn ( ReconnectParam & reconnParam)
void
Detenga la conexión del túnel de servicio e intente volver a conectarse.
TryConnectingNow (void)
Intente establecer una conexión con el Servicio.

Funciones estáticas públicas

DefaultReconnectPolicyCallback (void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
void
La implementación de la política predeterminada para obtener la próxima vez que se conecte al Servicio.
HandleServiceConnectionClosed ( WeaveConnection *con, WEAVE_ERROR conErr)
void
Controlador que se invoca cuando se cierra la conexión TCP de servicio.
HandleServiceConnectionComplete ( WeaveConnection *con, WEAVE_ERROR conErr)
void
El controlador se invoca cuando se completa la conexión TCP del servicio.
RecvdFromService ( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
void
Controlador para recibir paquetes IPv6 tunelizados desde la conexión TCP de servicio y reenviarlos a la interfaz Tunnel EndPoint después de desencapsular el paquete IPv6 sin procesar desde el interior del encabezado del túnel.
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report)
void
Controlador invocado si el Administrador de servicios no pudo establecer la conexión TCP con el Servicio.

Tipos públicos

ConnectPolicyCallback

void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)

Devolución de llamada para obtener el intervalo de tiempo de espera antes de que se vuelva a conectar el siguiente túnel.

Detalles
Parámetros
[in] appState
Puntero de estado de la aplicación establecido durante la inicialización de SubscriptionClient.
[in] reconnectParam
Estructura con parámetros que influyen en el cálculo del retardo de reconexión.
[out] delayMsec
Tiempo en milisegundos para esperar antes del próximo intento de reconexión.

TunnelConnNotifyReasons

 TunnelConnNotifyReasons
Propiedades
kStatus_TunBackupConnError

Se utiliza para indicar que un intento de conexión de túnel de respaldo ha fallado o que uno existente fue cancelado o cerrado localmente por un par.

kStatus_TunBackupLiveness

Se utiliza para indicar información sobre la sonda Tunnel Liveness en el túnel Backup Weave.

kStatus_TunBackupOnlyDown

Se usa para indicar que el túnel de respaldo está inactivo.

kStatus_TunBackupReconnectRcvd

Se utiliza para indicar que el Servicio ha solicitado una reconexión para el túnel de Backup Weave.

kStatus_TunBackupUp

Se usa para indicar que el túnel de Backup Weave está activo.

kStatus_TunDown

Se usa para indicar que el túnel de Weave se ha caído.

kStatus_TunFailoverToBackup

Se utiliza para indicar que el túnel principal está inactivo y se ha producido el cambio al túnel de respaldo.

kStatus_TunPrimaryAndBackupUp

Se usa para indicar que tanto el túnel de tejido primario como el de respaldo están activos.

kStatus_TunPrimaryConnError

Se utiliza para indicar que un intento de conexión de túnel principal ha fallado o que uno existente fue cancelado o cerrado localmente por un par.

kStatus_TunPrimaryLiveness

Se utiliza para indicar información sobre la sonda Tunnel Liveness en el túnel Primary Weave.

kStatus_TunPrimaryReconnectRcvd

Se usa para indicar que el Servicio ha solicitado una reconexión para el túnel de tejido primario.

kStatus_TunPrimaryUp

Se usa para indicar que el túnel de tejido primario está activo.

TunnelConnNotifyReasons

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons

TunnelConnectionState

 TunnelConnectionState
Propiedades
kState_Connecting

Se utiliza para indicar que se ha iniciado la conexión de Weave Tunnel.

kState_ConnectionEstablished

Se utiliza para indicar que se ha establecido la conexión de Weave Tunnel y se está intercambiando información de ruta.

kState_NotConnected

Se usa para indicar que el Weave Tunnel no está conectado.

kState_ReconnectRecvd

Se usa para indicar que el Servicio desea que la puerta de enlace fronteriza se vuelva a conectar después de una búsqueda en el directorio.

kState_TunnelClosing

Se usa para indicar que el túnel de tejido se está cerrando y la conexión se está derribando.

kState_TunnelOpen

Se usa para indicar que el Weave Tunnel está abierto y listo para el tránsito del tráfico de datos.

TunnelConnectionState

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState

Atributos públicos

mServiceConnDelayPolicyCallback

ConnectPolicyCallback mServiceConnDelayPolicyCallback

Funciones publicas

En eso

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelType tunType,
  SrcInterfaceType srcIntfType,
  const char *connIntfName
)

Inicialice el WeaveTunnelConnectionMgr .

ServicioTúnelCerrar

void ServiceTunnelClose(
  WEAVE_ERROR err
)

Cierre el túnel de servicio.

Detalles
Parámetros
[in] err
Un WEAVE_ERROR pasó de la persona que llama.

SetInterfaceName

void SetInterfaceName(
  const char *intfName
)

Configure InterfaceName para la conexión del túnel.

Detalles
Parámetros
[in] tunIntf
InterfaceName para configurar la conexión del túnel de servicio.

SetInterfaceType

void SetInterfaceType(
  const SrcInterfaceType srcIntfType
)

Establezca SrcInterfaceType para la conexión de túnel.

Detalles
Parámetros
[in] srcIntfType
El tipo de tecnología de red de la interfaz para la conexión del túnel de servicio.

Cerrar

void Shutdown(
  void
)

StopAndReconnectTunnelConn

void StopAndReconnectTunnelConn(
  ReconnectParam & reconnParam
)

Detenga la conexión del túnel de servicio e intente volver a conectarse.

Detalles
Parámetros
[in] err
Un WEAVE_ERROR pasó de la persona que llama.

TryConnectingNow

WEAVE_ERROR TryConnectingNow(
  void
)

Intente establecer una conexión con el Servicio.

Intente establecer una conexión con el Servicio mediante ServiceManager o directamente.

WeaveTunnelConnectionMgr

 WeaveTunnelConnectionMgr(
  void
)

Funciones estáticas públicas

DefaultReconnectPolicyCallback

void DefaultReconnectPolicyCallback(
  void *const appstate,
  ReconnectParam & reconnectParam,
  uint32_t & delayMsec
)

La implementación de la política predeterminada para obtener la próxima vez que se conecte al Servicio.

Esta política elige un intervalo de tiempo aleatorio (con resolución de milisegundos) sobre una ventana creciente, siguiendo una secuencia de fibonacci hasta WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.

Detalles
Parámetros
[in] appState
Puntero de estado de la aplicación establecido durante la inicialización de SubscriptionClient.
[in] reconnectParam
Estructura con parámetros que influyen en el cálculo del retardo de reconexión.
[out] delayMsec
Tiempo en milisegundos para esperar antes del próximo intento de reconexión.

HandleServiceConnectionClosed

void HandleServiceConnectionClosed(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

Controlador que se invoca cuando se cierra la conexión TCP de servicio.

El dispositivo intenta restablecer la conexión con el Servicio si mServiceConKeepAlive se establece en verdadero.

Posteriormente, el dispositivo intenta restablecer la conexión con el Servicio.

Detalles
Parámetros
[in] con
Un puntero al objeto WeaveConnection .
[in] conErr
Cualquier error dentro de WeaveConnection o WEAVE_NO_ERROR.

HandleServiceConnectionComplete

void HandleServiceConnectionComplete(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

El controlador se invoca cuando se completa la conexión TCP del servicio.

El dispositivo procede a iniciar comandos de control de túnel al Servicio desde esta función.

El dispositivo procede a iniciar comandos de control de túnel al Servicio desde esta función.

Detalles
Parámetros
[in] con
Un puntero al objeto WeaveConnection .
[in] conErr
Cualquier error dentro de WeaveConnection o WEAVE_NO_ERROR.

RecvdFromService

void RecvdFromService(
  WeaveConnection *con,
  const WeaveMessageInfo *msgInfo,
  PacketBuffer *message
)

Controlador para recibir paquetes IPv6 tunelizados desde la conexión TCP de servicio y reenviarlos a la interfaz Tunnel EndPoint después de desencapsular el paquete IPv6 sin procesar desde el interior del encabezado del túnel.

Detalles
Parámetros
[in] con
Un puntero al objeto WeaveConnection .
[in] msgInfo
Un puntero al objeto WeaveMessageInfo .
[in] message
Un puntero al objeto PacketBuffer que contiene el paquete IPv6 tunelizado.

ServiceMgrStatusHandler

void ServiceMgrStatusHandler(
  void *appState,
  WEAVE_ERROR err,
  StatusReport *report
)

Controlador invocado si el Administrador de servicios no pudo establecer la conexión TCP con el Servicio.