nl :: Tecer:: Perfis :: WeaveTunnel :: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
Esta classe encapsula todos os estados de conexão do túnel Weave e a lógica e funções de gerenciamento associadas.
Resumo
Uma instância dessa classe seria usada para gerenciar o túnel em cada interface através da qual o túnel Weave para o Serviço existiria.
Construtores e Destruidores | |
---|---|
WeaveTunnelConnectionMgr (void) |
Tipos públicos | |
---|---|
ConnectPolicyCallback )(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) | typedefvoid(* Retorno de chamada para buscar o intervalo de tempo de espera antes da próxima reconexão do túnel. |
TunnelConnNotifyReasons { | enum |
TunnelConnNotifyReasons | typedef |
TunnelConnectionState { | enum |
TunnelConnectionState | typedef |
Atributos públicos | |
---|---|
mServiceConnDelayPolicyCallback |
Funções públicas | |
---|---|
Init ( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName) | Inicializar o WeaveTunnelConnectionMgr . |
ServiceTunnelClose ( WEAVE_ERROR err) | void Feche o túnel de serviço. |
SetInterfaceName (const char *intfName) | void Defina InterfaceName para conexão de túnel. |
SetInterfaceType (const SrcInterfaceType srcIntfType) | void Defina SrcInterfaceType para conexão de túnel. |
Shutdown (void) | void Desligue o WeaveTunnelConnectionMgr . |
StopAndReconnectTunnelConn ( ReconnectParam & reconnParam) | void Pare a conexão do túnel de serviço e tente reconectar novamente. |
TryConnectingNow (void) | Tente estabelecer uma conexão com o serviço. |
Funções estáticas públicas | |
---|---|
DefaultReconnectPolicyCallback (void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec) | void A implementação de política padrão para buscar na próxima vez que se conectar ao serviço. |
HandleServiceConnectionClosed ( WeaveConnection *con, WEAVE_ERROR conErr) | void Manipulador invocado quando a conexão TCP de serviço é fechada. |
HandleServiceConnectionComplete ( WeaveConnection *con, WEAVE_ERROR conErr) | void Manipulador invocado quando a conexão do Service TCP é concluída. |
RecvdFromService ( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message) | void Manipulador para receber pacotes IPv6 encapsulados da conexão TCP de serviço e encaminhá-los para a interface do Tunnel EndPoint após desencapsular o pacote IPv6 bruto de dentro do cabeçalho do túnel. |
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report) | void Manipulador invocado se o Service Manager falhar ao estabelecer a conexão TCP com o serviço. |
Tipos públicos
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
Retorno de chamada para buscar o intervalo de tempo de espera antes da próxima reconexão do túnel.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
Atributos públicos
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
Funções públicas
Iniciar
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
Inicializar o WeaveTunnelConnectionMgr .
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
Feche o túnel de serviço.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Defina InterfaceName para conexão de túnel.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Defina SrcInterfaceType para conexão de túnel.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Pare a conexão do túnel de serviço e tente reconectar novamente.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
Tente estabelecer uma conexão com o serviço.
Tente estabelecer uma conexão com o serviço usando o ServiceManager ou diretamente.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
Funções estáticas públicas
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
A implementação de política padrão para buscar na próxima vez que se conectar ao serviço.
Esta política escolhe um timeslot aleatório (com resolução de milissegundos) em uma janela crescente, seguindo uma sequência de fibonacci até WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Manipulador invocado quando a conexão Service TCP é fechada
O dispositivo tenta restabelecer a conexão com o serviço se mServiceConKeepAlive estiver definido como verdadeiro.
O dispositivo, posteriormente, tenta restabelecer a conexão com o Serviço.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Manipulador invocado quando a conexão do Service TCP é concluída.
O dispositivo prossegue para iniciar comandos de controle de túnel para o serviço a partir desta função.
O dispositivo prossegue para iniciar comandos de controle de túnel para o serviço a partir desta função.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
Manipulador para receber pacotes IPv6 encapsulados da conexão TCP de serviço e encaminhá-los para a interface do Tunnel EndPoint após desencapsular o pacote IPv6 bruto de dentro do cabeçalho do túnel.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
Manipulador invocado se o Service Manager falhar ao estabelecer a conexão TCP com o serviço.