nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent

Resumo

Construtores e destrutores

WeaveTunnelAgent(void)

Tipos públicos

AgentState{
  kState_NotInitialized = 0,
  kState_Initialized_NoTunnel = 1,
  kState_PrimaryTunModeEstablished = 2,
  kState_BkupOnlyTunModeEstablished = 3,
  kState_PrimaryAndBkupTunModeEstablished = 4
}
enum
Estados do agente do túnel em relação às conexões com o Serviço.
AgentState typedef
Estados do agente do túnel em relação às conexões com o Serviço.
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) typedef
void(*
Ponteiro de função para o gerenciador definido por uma camada superior quando uma reconexão de túnel é recebida do serviço.
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt) typedef
void(*
Ponteiro de função para o gerenciador definido por uma camada superior para atuar em várias notificações relacionadas ao túnel para o serviço.
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt) typedef
void(*
Ponteiro de função para um manipulador fornecido pelo aplicativo para executar uma verificação on-line no nível da rede.
WeaveTunnelFlags{
  kTunnelFlag_PrimaryEnabled = 0x01,
  kTunnelFlag_BackupEnabled = 0x02,
  kTunnelFlag_PrimaryRestricted = 0x04,
  kTunnelFlag_BackupRestricted = 0x08
}
enum
Entrelaçar bits de sinalização de túnel.
WeaveTunnelFlags typedef
Entrelaçar bits de sinalização de túnel.

Atributos públicos

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
Ponteiro de função para o gerenciador definido por uma camada superior para atuar em várias notificações relacionadas ao túnel para o serviço.
mServiceMgr
WeaveServiceManager *
Ponteiro do Service Manager a ser usado para pesquisar e se conectar ao serviço.

Funções públicas

DisablePrimaryTunnel(void)
void
Desativar o túnel principal.
EnablePrimaryTunnel(void)
void
Ative o túnel principal.
GetAgentStateName(const AgentState state)
const char *
Consiga o nome de WeaveTunnelAgentState.
GetTimeMsec(void)
uint64_t
Mostra o horário do sistema em milissegundos.
GetWeaveTunnelAgentState(void)
Acessa o estado do TunnelAgent.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
Inicialize o agente Tunnel.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
Inicialize o agente Tunnel.
IsPrimaryTunnelEnabled(void) const
bool
Verifique se o túnel principal está ativado.
IsPrimaryTunnelRoutingRestricted(void)
bool
Verifique se o túnel principal está sujeito a restrições de roteamento pelo serviço.
IsTunnelRoutingRestricted(void)
bool
Verifique se o túnel está sujeito a restrições de roteamento pelo serviço.
NetworkOnlineCheckResult(TunnelType tunType, bool isOnline)
void
Callback invocado pela plataforma quando o resultado do verificador on-line da rede está disponível.
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
Redefina o tempo de reconexão para o túnel principal.
SetAuthMode(const WeaveAuthMode authMode)
void
Defina o WeaveAuthMode para o Tunnel.
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
void
Defina o nodeId, o IPAddress e a porta de destino do Tunnel.
SetTunnelingDeviceRole(const Role role)
void
Defina o papel do dispositivo de encapsulamento(BorderGateway, StandaloneDevice, MobileDevice) para o túnel.
Shutdown(void)
Encerre o agente do túnel.
StartServiceTunnel(void)
Inicie o túnel de serviço.
StartServiceTunnel(uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
Inicie o túnel de serviço.
StopServiceTunnel(void)
void
Encerre a conexão do túnel com o serviço.
StopServiceTunnel(WEAVE_ERROR err)
void
Encerre a conexão do túnel com o serviço.

Funções estáticas públicas

RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
Gerenciador para receber pacotes IPv6 encapsulados pelo túnel UDP de atalho entre o gateway de borda e o dispositivo móvel e encaminhar para a interface Tunnel EndPoint após descapsular o pacote IPv6 bruto de dentro do cabeçalho do túnel.
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
void
Gerenciador para receber pacotes IPv6 da interface EndPoint do túnel e encaminhar, para o serviço por meio da conexão TCP do serviço após o encapsulamento do pacote IPv6 dentro do cabeçalho do túnel ou para o cliente móvel por um túnel de atalho.

Tipos públicos

AgentState

 AgentState

Estados do agente do túnel em relação às conexões com o Serviço.

Propriedades
kState_BkupOnlyTunModeEstablished

Usado para indicar que o túnel de backup para o serviço foi estabelecido.

kState_Initialized_NoTunnel

Usado para indicar que o agente do túnel foi inicializado, mas nenhum túnel foi estabelecido.

kState_NotInitialized

Usado para indicar que o agente do Tunnel não foi inicializado.

kState_PrimaryAndBkupTunModeEstablished

Usado para indicar que o túnel principal e o de backup foram estabelecidos.

kState_PrimaryTunModeEstablished

Usado para indicar que o túnel principal para o serviço foi estabelecido.

AgentState

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState

Estados do agente do túnel em relação às conexões com o Serviço.

OnServiceTunnelReconnectNotifyFunct

void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)

Ponteiro de função para o gerenciador definido por uma camada superior quando uma reconexão de túnel é recebida do serviço.

Detalhes
Parâmetros
[in] tunType
O tipo de túnel, principal ou backup.
[in] reconnectHost
O nome do host fornecido pelo serviço para reconectar.
[in] reconnectPort
A porta de destino fornecida pelo serviço para reconectar.
[in] appCtxt
Um ponteiro para um objeto de contexto do aplicativo.

OnServiceTunnelStatusNotifyFunct

void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)

Ponteiro de função para o gerenciador definido por uma camada superior para atuar em várias notificações relacionadas ao túnel para o serviço.

Detalhes
Parâmetros
[in] reason
O motivo da notificação de status para o aplicativo.
[in] err
Erro do Weave encontrado, se houver
[in] appCtxt
Um ponteiro para um objeto de contexto do aplicativo.

PlatformNetworkOnlineCheck

void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)

Ponteiro de função para um manipulador fornecido pelo aplicativo para executar uma verificação on-line no nível da rede.

Detalhes
Parâmetros
[in] tunType
O tipo de túnel, principal ou backup.
[in] appCtxt
Um ponteiro para um objeto de contexto do aplicativo.

WeaveTunnelFlags

 WeaveTunnelFlags

Entrelaçar bits de sinalização de túnel.

Propriedades
kTunnelFlag_BackupEnabled

Definido quando o túnel de backup está ativado.

kTunnelFlag_BackupRestricted

Defina quando o túnel de backup está com o roteamento restrito.

kTunnelFlag_PrimaryEnabled

Defina quando o túnel principal está ativado.

kTunnelFlag_PrimaryRestricted

Defina quando o túnel principal está com o roteamento restrito.

WeaveTunnelFlags

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags

Entrelaçar bits de sinalização de túnel.

Atributos públicos

NetworkOnlineCheck

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

Ponteiro de função para o gerenciador definido por uma camada superior para atuar em várias notificações relacionadas ao túnel para o serviço.

mServiceMgr

WeaveServiceManager * mServiceMgr

Ponteiro do Service Manager a ser usado para pesquisar e se conectar ao serviço.

Funções públicas

DisablePrimaryTunnel

void DisablePrimaryTunnel(
  void
)

Desativar o túnel principal.

Desative o túnel principal.

EnablePrimaryTunnel

void EnablePrimaryTunnel(
  void
)

Ative o túnel principal.

Ative o túnel principal.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

Consiga o nome de WeaveTunnelAgentState.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

Mostra o horário do sistema em milissegundos.

Recebe o horário do sistema ou o horário monotônico em milissegundos, se o horário do sistema não estiver disponível.

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

Acessa o estado do TunnelAgent.

Detalhes
Retorna
AgentState o estado atual do WeaveTunnelAgent.

Init

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  WeaveAuthMode authMode,
  WeaveServiceManager *svcMgr,
  const char *intfName,
  uint8_t role,
  void *appContext
)

Inicialize o agente Tunnel.

Isso cria o objeto do endpoint do túnel, configura a interface do túnel, inicializa variáveis de membro, callbacks e WeaveTunnelControl.

Init

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode,
  const char *intfName,
  uint8_t role,
  void *appContext
)

Inicialize o agente Tunnel.

Isso cria o objeto do endpoint do túnel, configura a interface do túnel, inicializa variáveis de membro, callbacks e WeaveTunnelControl.

IsPrimaryTunnelEnabled

bool IsPrimaryTunnelEnabled(
  void
) const 

Verifique se o túnel principal está ativado.

Detalhes
Retorna
verdadeiro se estiver ativado. Caso contrário, será falso.

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

Verifique se o túnel principal está sujeito a restrições de roteamento pelo serviço.

Verifique se o túnel principal está sujeito a restrições de roteamento.

Detalhes
Retorna
verdadeiro se o túnel principal estiver estabelecido, mas sujeito a restrições de roteamento pelo serviço.

IsTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

Verifique se o túnel está sujeito a restrições de roteamento pelo serviço.

Verifique se o túnel está sujeito a restrições de roteamento.

Detalhes
Retorna
verdadeiro se o túnel principal ou de backup estiver estabelecido e ambos estiverem sujeitos a restrições de roteamento pelo serviço.

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

Callback invocado pela plataforma quando o resultado do verificador on-line da rede está disponível.

Detalhes
Parâmetros
[in] tunType
O tipo de túnel correspondente à interface em que a verificação de conectividade de rede é realizada.
[in] isOnline
Verdadeiro se a rede estiver on-line. Caso contrário, será falso.

ResetPrimaryReconnectBackoff

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

Redefina o tempo de reconexão para o túnel principal.

Detalhes
Parâmetros
[in] reconnectImmediately
Verdadeiro se necessário para reconectar imediatamente. Caso contrário, o tempo limite de reconhecimento configurado será usado.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

Defina o WeaveAuthMode para o Tunnel.

Detalhes
Parâmetros
[in] authMode
Modo de autenticação do Weave usado com peering.

SetDestination

void SetDestination(
  const uint64_t nodeId,
  const IPAddress ipAddr,
  const uint16_t servicePort
)

Defina o nodeId, o IPAddress e a porta de destino do Tunnel.

Defina o nodeId e o IPAddress de destino do túnel.

Detalhes
Parâmetros
[in] nodeId
ID do nó de destino.
[in] ipAddr
Endereço IP do nó de destino.
[in] servicePort
Porta do nó de destino.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

Defina o papel do dispositivo de encapsulamento(BorderGateway, StandaloneDevice, MobileDevice) para o túnel.

Defina o papel de dispositivo de encapsulamento(BorderGateway x Independente) para o túnel.

Detalhes
Parâmetros
[in] role
Papel assumido pelo agente do túnel, gateway de borda, independente ou dispositivo móvel.

Desligamento

WEAVE_ERROR Shutdown(
  void
)

Encerre o agente do túnel.

Isso interrompe a conexão com o serviço e fecha a interface TunEndPoint após remover endereços e rotas associados à interface do túnel.

Isso interrompe a conexão com o serviço e fecha a interface TunEndPoint após remover endereços e rotas associados à interface do túnel.

Detalhes
Retorna
WEAVE_NO_ERROR em caso de sucesso, caso contrário, um tipo WEAVE_ERROR correspondente.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  void
)

Inicie o túnel de serviço.

Isso ativa o túnel e tenta estabelecer uma conexão com o serviço.

Isso tenta estabelecer uma conexão com o serviço e também define a rota da malha para a interface do túnel.

Detalhes
Retorna
WEAVE_NO_ERROR em caso de sucesso, caso contrário, um tipo WEAVE_ERROR correspondente.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode
)

Inicie o túnel de serviço.

Isso ativa o túnel e tenta estabelecer uma conexão com o serviço.

StopServiceTunnel

void StopServiceTunnel(
  void
)

Encerre a conexão do túnel com o serviço.

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

Encerre a conexão do túnel com o serviço.

Detalhes
Parâmetros
[in] err
WEAVE_NO_ERROR se não houvesse um motivo específico para essa solicitação StopServiceTunnel. Caso contrário, a causa do erro seria repassada.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

Funções estáticas públicas

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

Gerenciador para receber pacotes IPv6 encapsulados pelo túnel UDP de atalho entre o gateway de borda e o dispositivo móvel e encaminhar para a interface Tunnel EndPoint após descapsular o pacote IPv6 bruto de dentro do cabeçalho do túnel.

Gerenciador para receber pacotes IPv6 encapsulados da conexão TCP do serviço e encaminhar para a interface Tunnel EndPoint após descapsular o pacote IPv6 bruto de dentro do cabeçalho do túnel.

Detalhes
Parâmetros
[in] con
Um ponteiro para o objeto WeaveConnection.
[in] msgInfo
Um ponteiro para o objeto WeaveMessageInfo.
[in] message
Um ponteiro para o objeto PacketBuffer que contém o pacote IPv6 encapsulado.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

Gerenciador para receber pacotes IPv6 da interface EndPoint do túnel e encaminhar, para o serviço por meio da conexão TCP do serviço após o encapsulamento do pacote IPv6 dentro do cabeçalho do túnel ou para o cliente móvel por um túnel de atalho.

Gerenciador para receber pacotes IPv6 da interface EndPoint do túnel e encaminhar, para o serviço por meio da conexão TCP do serviço após o encapsulamento do pacote IPv6 dentro do cabeçalho do túnel ou para o cliente móvel por um túnel local.

Se a conexão de serviço ainda não estiver ativa, a mensagem será colocada na fila até que a conexão seja configurada. Para encapsular o dispositivo cliente móvel, é referenciada a tabela vizinha do próximo salto.

Se a conexão de serviço ainda não estiver ativa, a mensagem será colocada na fila até que a conexão seja configurada. Para encapsular o dispositivo cliente móvel, é referenciada a tabela vizinha do próximo salto.

Detalhes
Parâmetros
[in] tunEP
Um ponteiro para o objeto TunEndPoint.
[in] message
Um ponteiro para o objeto PackageBuffer que contém o pacote IPv6 bruto.