nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
Esta clase encapsula todos los estados de conexión del túnel de Weave y la lógica y las funciones de administración asociadas.
Resumen
Se usaría una instancia de esta clase para administrar el túnel sobre cada interfaz a través de la cual existiría el túnel de Weave al Service.
Constructores y destructores |
|
---|---|
WeaveTunnelConnectionMgr(void)
|
Tipos públicos |
|
---|---|
ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
|
typedefvoid(*
Es la devolución de llamada para recuperar el intervalo de tiempo que se debe esperar antes de que se reconecte el próximo túnel. |
TunnelConnNotifyReasons{
|
enum |
TunnelConnNotifyReasons
|
typedef |
TunnelConnectionState{
|
enum |
TunnelConnectionState
|
typedef |
Atributos públicos |
|
---|---|
mServiceConnDelayPolicyCallback
|
Funciones públicas |
|
---|---|
Init(WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
|
Inicializa WeaveTunnelConnectionMgr.
|
ServiceTunnelClose(WEAVE_ERROR err)
|
void
Cierra el túnel de servicio.
|
SetInterfaceName(const char *intfName)
|
void
Configura InterfaceName para la conexión de túnel.
|
SetInterfaceType(const SrcInterfaceType srcIntfType)
|
void
Configura SrcInterfaceType para la conexión de túnel.
|
Shutdown(void)
|
void
Apaga WeaveTunnelConnectionMgr.
|
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
|
void
Detén la conexión del túnel de servicio y vuelve a intentar la conexión.
|
TryConnectingNow(void)
|
Intenta establecer una conexión con el Servicio.
|
Funciones estáticas públicas |
|
---|---|
DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
|
void
Es la implementación de la política predeterminada para recuperar la próxima vez que se conecte al servicio.
|
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
El controlador se invoca cuando se cierra la conexión TCP del 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 en túnel de la conexión TCP del servicio y reenviar a la interfaz del extremo de túnel después de desencapsular el paquete IPv6 sin procesar desde el encabezado del túnel.
|
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
|
void
El controlador se invoca si el administrador del servicio no pudo establecer la conexión TCP con el servicio.
|
Tipos públicos
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
Es la devolución de llamada para recuperar el intervalo de tiempo que se debe esperar antes de que se reconecte el próximo túnel.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
Propiedades | |
---|---|
kStatus_TunBackupConnError
|
Se usa para indicar que falló un intento de conexión con el túnel de respaldo o que el intercambio de tráfico anuló o cerró uno existente de forma local. |
kStatus_TunBackupLiveness
|
Se usa para indicar información sobre el sondeo de funcionamiento del túnel en el túnel de respaldo de tejido. |
kStatus_TunBackupOnlyDown
|
Se usa para indicar que el túnel de respaldo está inactivo. |
kStatus_TunBackupReconnectRcvd
|
Se usa para indicar que el servicio solicitó una reconexión al túnel Backup Weave. |
kStatus_TunBackupUp
|
Se usa para indicar que el túnel de respaldo de Weave está activo. |
kStatus_TunDown
|
Se usa para indicar que el túnel de Weave se cayó. |
kStatus_TunFailoverToBackup
|
Se usa para indicar que el túnel principal está inactivo y que se realizó el cambio al túnel de respaldo. |
kStatus_TunPrimaryAndBackupUp
|
Se usa para indicar que tanto el túnel principal como el de respaldo de Weave están hacia arriba. |
kStatus_TunPrimaryConnError
|
Se usa para indicar que falló un intento de conexión de túnel principal o que el intercambio de tráfico anuló o cerró uno existente de forma local. |
kStatus_TunPrimaryLiveness
|
Se usa para indicar información sobre el sondeo de funcionamiento del túnel en el túnel de tejido principal. |
kStatus_TunPrimaryReconnectRcvd
|
Se usa para indicar que el servicio solicitó una reconexión al túnel principal de Weave. |
kStatus_TunPrimaryUp
|
Se usa para indicar que el túnel principal de Weave está activo. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
Propiedades | |
---|---|
kState_Connecting
|
Se usa para indicar que se inició la conexión del túnel de Weave. |
kState_ConnectionEstablished
|
Se usa para indicar que se estableció la conexión con el túnel de Weave y que se está intercambiando información de ruta. |
kState_NotConnected
|
Se usa para indicar que el túnel de Weave no está conectado. |
kState_ReconnectRecvd
|
Se usa para indicar que el Service 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 Weave se está cerrando y la conexión se está eliminando. |
kState_TunnelOpen
|
Se usa para indicar que el túnel de Weave está abierto y listo para el tránsito de tráfico de datos. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
Atributos públicos
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
Funciones públicas
Init
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
Inicializa WeaveTunnelConnectionMgr.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
Cierra el túnel de servicio.
Detalles | |||
---|---|---|---|
Parámetros |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Configura InterfaceName para la conexión de túnel.
Detalles | |||
---|---|---|---|
Parámetros |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Configura SrcInterfaceType para la conexión de túnel.
Detalles | |||
---|---|---|---|
Parámetros |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Detén la conexión del túnel de servicio y vuelve a intentar la conexión.
Detalles | |||
---|---|---|---|
Parámetros |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
Intenta establecer una conexión con el Servicio.
Intenta establecer una conexión con el Servicio usando ServiceManager o directamente.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
Funciones estáticas públicas
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
Es la implementación de la política predeterminada para recuperar la próxima vez que se conecte al servicio.
Esta política elige una franja horaria aleatoria (con resolución de milisegundos) en un período creciente, siguiendo una secuencia de Fibonacci hasta WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
El controlador se invoca cuando se cierra la conexión TCP del servicio.
El dispositivo intenta restablecer la conexión con el servicio si mServiceConKeepAlive está configurado como verdadero.
Luego, el dispositivo intenta restablecer la conexión con el Servicio.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
El controlador se invoca cuando se completa la conexión TCP del servicio.
El dispositivo inicia los comandos de control de túneles para el servicio desde esta función.
El dispositivo inicia los comandos de control de túneles para el servicio desde esta función.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
Controlador para recibir paquetes IPv6 en túnel de la conexión TCP del servicio y reenviar a la interfaz del extremo de túnel después de desencapsular el paquete IPv6 sin procesar desde el encabezado del túnel.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
El controlador se invoca si el administrador del servicio no pudo establecer la conexión TCP con el servicio.