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á una instancia de esta clase para administrar el túnel en cada interfaz a través de la cual existiría el túnel de Weave hacia el 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 de espera antes de que se vuelva a conectar el siguiente 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 Service.
|
SetInterfaceName(const char *intfName)
|
void
Configura el InterfaceName para la conexión del túnel.
|
SetInterfaceType(const SrcInterfaceType srcIntfType)
|
void
Configura SrcInterfaceType para la conexión de túnel.
|
Shutdown(void)
|
void
Cierra WeaveTunnelConnectionMgr.
|
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
|
void
Detén la conexión del túnel de servicio y vuelve a intentar establecer la conexión.
|
TryConnectingNow(void)
|
Intentar 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 recuperar la próxima vez que te conectes al servicio.
|
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Controlador que se invoca cuando se cierra la conexión TCP del servicio.
|
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Controlador que 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 desde la conexión TCP del Service 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
Controlador que se invoca 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)
Es la devolución de llamada para recuperar el intervalo de tiempo de espera antes de que se vuelva a conectar el siguiente túnel.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
Propiedades | |
---|---|
kStatus_TunBackupConnError
|
Se usa para indicar que falló un intento de conexión de túnel de respaldo o que un intercambio de tráfico anuló o cerró de forma local. |
kStatus_TunBackupLiveness
|
Se usa para indicar información sobre el sondeo de funcionamiento del túnel en el túnel de copia de seguridad de Weave. |
kStatus_TunBackupOnlyDown
|
Se usa para indicar que el túnel de respaldo está inactivo. |
kStatus_TunBackupReconnectRcvd
|
Se usa para indicar que el Service solicitó una reconexión para el túnel de copia de seguridad de Weave. |
kStatus_TunBackupUp
|
Se usa para indicar que el túnel de Weave de respaldo 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 se produjo un cambio al túnel de respaldo. |
kStatus_TunPrimaryAndBackupUp
|
Se usa para indicar que el túnel de tejido principal y secundario están activos. |
kStatus_TunPrimaryConnError
|
Se usa para indicar que un intento de conexión del túnel principal falló o que uno existente lo anuló o cerró de forma local un intercambio de tráfico. |
kStatus_TunPrimaryLiveness
|
Se usa para indicar información sobre el sondeo de funcionamiento del túnel en el túnel principal de Weave. |
kStatus_TunPrimaryReconnectRcvd
|
Se usa para indicar que el Service solicitó una reconexión para el túnel de tejido principal. |
kStatus_TunPrimaryUp
|
Se usa para indicar que el túnel de Weave principal 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 de túnel de Weave y que se está intercambiando información de la 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 quiere que la puerta de enlace fronteriza se vuelva a conectar después de una búsqueda de directorio. |
kState_TunnelClosing
|
Se usa para indicar que el túnel de Weave se está cerrando y que la conexión se está desactivando. |
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 Service.
.Detalles | |||
---|---|---|---|
Parámetros |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Configura el InterfaceName para la conexión del 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 establecer la conexión.
Detalles | |||
---|---|---|---|
Parámetros |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
Intentar establecer una conexión con el servicio
Intenta establecer una conexión con el Service, ya sea a través de 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 recuperar la próxima vez que te conectes al servicio.
Esta política selecciona un intervalo de tiempo aleatorio (con resolución en milisegundos) en un período creciente, después de una secuencia de Fibonacci de hasta WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Controlador que 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 intentará restablecer la conexión con el servicio.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Controlador que se invoca cuando se completa la conexión TCP del servicio.
El dispositivo inicia los comandos de control del túnel al Service desde esta función.
El dispositivo inicia los comandos de control del túnel al Service 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 desde la conexión TCP del Service 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 )
Controlador que se invoca si el administrador de servicios no pudo establecer la conexión TCP con el servicio.