O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

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) typedef
void(*
Retorno de chamada para buscar o intervalo de tempo de espera antes da próxima reconexão do 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
}
enum
TunnelConnNotifyReasons typedef
TunnelConnectionState {
kState_NotConnected = 0,
kState_Connecting = 1,
kState_ConnectionEstablished = 2,
kState_TunnelOpen = 3,
kState_TunnelClosing = 4,
kState_ReconnectRecvd = 5
}
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
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
[in] appState
Ponteiro de estado do aplicativo definido durante a inicialização do SubscriptionClient.
[in] reconnectParam
Estrutura com parâmetros que influenciam no cálculo do atraso na reconexão.
[out] delayMsec
Tempo em milissegundos de espera antes da próxima tentativa de reconexão.

TunnelConnNotifyReasons

 TunnelConnNotifyReasons
Propriedades
kStatus_TunBackupConnError

Usado para indicar que uma tentativa de conexão do túnel de backup falhou ou uma existente foi abortada localmente ou fechada pelo par.

kStatus_TunBackupLiveness

Usado para indicar informações sobre a detecção Tunnel Liveness no túnel Backup Weave.

kStatus_TunBackupOnlyDown

Usado para indicar que o túnel de backup está desativado.

kStatus_TunBackupReconnectRcvd

Usado para indicar que o serviço solicitou uma reconexão para o túnel Weave de backup.

kStatus_TunBackupUp

Usado para indicar que o túnel de tecelagem de backup está ativado.

kStatus_TunDown

Usado para indicar que o túnel Weave foi desativado.

kStatus_TunFailoverToBackup

Usado para indicar que o túnel primário está desativado e ocorreu a transição para o túnel de backup.

kStatus_TunPrimaryAndBackupUp

Usado para indicar que os túneis de Weave Primário e Backup estão ativados.

kStatus_TunPrimaryConnError

Usado para indicar que uma tentativa de conexão de túnel primário falhou ou uma existente foi abortada localmente ou fechada pelo par.

kStatus_TunPrimaryLiveness

Usado para indicar informações sobre a sonda Tunnel Liveness no túnel Weave Primário.

kStatus_TunPrimaryReconnectRcvd

Usado para indicar que o serviço solicitou uma reconexão para o túnel de trama primária.

kStatus_TunPrimaryUp

Usado para indicar que o túnel Weave principal está ativo.

TunnelConnNotifyReasons

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

TunnelConnectionState

 TunnelConnectionState
Propriedades
kState_Connecting

Usado para indicar que a conexão do Weave Tunnel foi iniciada.

kState_ConnectionEstablished

Usado para indicar que a conexão do Weave Tunnel foi estabelecida e as informações de rota estão sendo trocadas.

kState_NotConnected

Usado para indicar que o Túnel Weave não está conectado.

kState_ReconnectRecvd

Usado para indicar que o serviço deseja que o gateway de borda se reconecte após uma pesquisa de diretório.

kState_TunnelClosing

Usado para indicar que o Túnel Weave está fechando e a conexão está sendo interrompida.

kState_TunnelOpen

Usado para indicar que o Túnel Weave está aberto e pronto para o trânsito de tráfego de dados.

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
[in] err
Um WEAVE_ERROR passou do chamador.

SetInterfaceName

void SetInterfaceName(
  const char *intfName
)

Defina InterfaceName para conexão de túnel.

Detalhes
Parâmetros
[in] tunIntf
O InterfaceName para definir a conexão do túnel de serviço.

SetInterfaceType

void SetInterfaceType(
  const SrcInterfaceType srcIntfType
)

Defina SrcInterfaceType para conexão de túnel.

Detalhes
Parâmetros
[in] srcIntfType
O tipo de tecnologia de rede da interface para conexão de túnel de serviço.

Desligar

void Shutdown(
  void
)

StopAndReconnectTunnelConn

void StopAndReconnectTunnelConn(
  ReconnectParam & reconnParam
)

Pare a conexão do túnel de serviço e tente reconectar novamente.

Detalhes
Parâmetros
[in] err
Um WEAVE_ERROR passou do chamador.

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
[in] appState
Ponteiro de estado do aplicativo definido durante a inicialização do SubscriptionClient.
[in] reconnectParam
Estrutura com parâmetros que influenciam no cálculo do atraso de reconexão.
[out] delayMsec
Tempo em milissegundos de espera antes da próxima tentativa de reconexão.

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
[in] con
Um apontador para a WeaveConnection objecto.
[in] conErr
Qualquer erro dentro do WeaveConnection ou WEAVE_NO_ERROR.

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
[in] con
Um apontador para a WeaveConnection objecto.
[in] conErr
Qualquer erro dentro do WeaveConnection ou WEAVE_NO_ERROR.

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
[in] con
Um apontador para a WeaveConnection objecto.
[in] msgInfo
Um apontador para a WeaveMessageInfo objecto.
[in] message
Um ponteiro para o objeto PacketBuffer que contém o pacote IPv6 encapsulado.

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.