nl :: Tecer:: Perfis :: WeaveTunnel :: WeaveTunnelAgent

Resumo

Construtores e Destruidores

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 de Túnel em relação à (s) sua (s) conexão (ões) ao Serviço.
AgentState typedef
Estados do Agente de Túnel em relação à (s) sua (s) conexão (ões) ao Serviço.
OnServiceTunnelReconnectNotifyFunct )(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) typedef
void(*
Ponteiro de função para manipulador 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 manipulador definido por uma camada superior para agir 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 realizar uma verificação online no nível da rede.
WeaveTunnelFlags {
kTunnelFlag_PrimaryEnabled = 0x01,
kTunnelFlag_BackupEnabled = 0x02,
kTunnelFlag_PrimaryRestricted = 0x04,
kTunnelFlag_BackupRestricted = 0x08
}
enum
Bits de sinalizador de túnel de trama.
WeaveTunnelFlags typedef
Bits de sinalizador de túnel de trama.

Atributos públicos

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
Ponteiro de função para manipulador definido por uma camada superior para agir 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
Desative o túnel primário.
EnablePrimaryTunnel (void)
void
Habilite o túnel primário.
GetAgentStateName (const AgentState state)
const char *
Obtenha o nome WeaveTunnelAgentState.
GetTimeMsec (void)
uint64_t
Obtenha a hora do sistema em milissegundos.
GetWeaveTunnelAgentState (void)
Obtenha o estado TunnelAgent.
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
Inicialize o agente de túnel.
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
Inicialize o agente de túnel.
IsPrimaryTunnelEnabled (void) const
bool
Verifique se o túnel primário está habilitado.
IsPrimaryTunnelRoutingRestricted (void)
bool
Verifique se o túnel primário 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
Retorno de chamada invocado pela plataforma quando o resultado do verificador online da rede está disponível.
ResetPrimaryReconnectBackoff (bool reconnectImmediately)
Redefina o tempo de reconexão para o túnel primário.
SetAuthMode (const WeaveAuthMode authMode)
void
Defina o WeaveAuthMode para o túnel.
SetDestination (const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
void
Defina o destino nodeId, IPAddress e porta para o túnel.
SetTunnelingDeviceRole (const Role role)
void
Defina a função do dispositivo de encapsulamento (BorderGateway, StandaloneDevice, MobileDevice) para o encapsulamento.
Shutdown (void)
Desligue o Agente de 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
Feche a conexão do túnel com o serviço.
StopServiceTunnel ( WEAVE_ERROR err)
void
Feche a conexão do túnel com o serviço.

Funções estáticas públicas

RecvdFromShortcutUDPTunnel ( WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
Manipulador para receber pacotes IPv6 encapsulados sobre o túnel UDP de atalho entre o gateway de fronteira e o dispositivo móvel e encaminhar para a interface do Tunnel EndPoint após desencapsular o pacote IPv6 bruto de dentro do cabeçalho do túnel.
RecvdFromTunnelEndPoint ( TunEndPoint *tunEP, PacketBuffer *message)
void
Manipulador para receber pacotes IPv6 da interface do Tunnel EndPoint e encaminhá-los para o serviço por meio da conexão TCP do serviço após encapsular o pacote IPv6 dentro do cabeçalho do túnel ou para o cliente móvel através de um túnel de atalho.

Tipos públicos

AgentState

 AgentState

Estados do Agente de Túnel em relação à (s) sua (s) conexão (ões) ao 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 de Túnel foi inicializado, mas nenhum túnel foi estabelecido.

kState_NotInitialized

Usado para indicar que o Agente de Túnel não foi inicializado.

kState_PrimaryAndBkupTunModeEstablished

Usado para indicar que o túnel primário e o de backup foram estabelecidos.

kState_PrimaryTunModeEstablished

Usado para indicar que o túnel primário para o serviço foi estabelecido.

AgentState

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

Estados do Agente de Túnel em relação à (s) sua (s) conexão (ões) ao Serviço.

OnServiceTunnelReconnectNotifyFunct

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

Ponteiro de função para manipulador 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, Primário ou Backup.
[in] reconnectHost
O nome do host fornecido pelo serviço ao qual se reconectar.
[in] reconnectPort
A porta de destino fornecida pelo Serviço para se reconectar.
[in] appCtxt
Um ponteiro para um objeto de contexto de aplicativo

OnServiceTunnelStatusNotifyFunct

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

Ponteiro de função para manipulador definido por uma camada superior para agir 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 de trama encontrado, se houver
[in] appCtxt
Um ponteiro para um objeto de contexto de aplicativo

PlatformNetworkOnlineCheck

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

Ponteiro de função para um manipulador fornecido pelo aplicativo para realizar uma verificação online no nível da rede.

Detalhes
Parâmetros
[in] tunType
O tipo de túnel, Primário ou Backup.
[in] appCtxt
Um ponteiro para um objeto de contexto de aplicativo

WeaveTunnelFlags

 WeaveTunnelFlags

Bits de sinalizador de túnel de trama.

Propriedades
kTunnelFlag_BackupEnabled

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

kTunnelFlag_BackupRestricted

Definido quando o túnel de backup tem roteamento restrito.

kTunnelFlag_PrimaryEnabled

Definido quando o túnel primário está habilitado.

kTunnelFlag_PrimaryRestricted

Definido quando o túnel primário está com roteamento restrito.

WeaveTunnelFlags

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

Bits de sinalizador de túnel de trama.

Atributos públicos

NetworkOnlineCheck

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

Ponteiro de função para manipulador definido por uma camada superior para agir 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
)

Desative o túnel primário.

Desative o túnel primário.

EnablePrimaryTunnel

void EnablePrimaryTunnel(
  void
)

Habilite o túnel primário.

Habilite o túnel primário.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

Obtenha o nome WeaveTunnelAgentState.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

Obtenha a hora do sistema em milissegundos.

Obtenha a hora do sistema ou a hora monotônica em milissegundos se a hora do sistema não estiver disponível.

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

Obtenha o estado TunnelAgent.

Detalhes
Devoluções
AgentState o estado atual do WeaveTunnelAgent .

Iniciar

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 de túnel.

Isso cria te objeto extremidade do túnel, configura a interface do túnel, inicializa variáveis de membro, retornos de chamada e WeaveTunnelControl .

Iniciar

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 de túnel.

Isso cria te objeto extremidade do túnel, configura a interface do túnel, inicializa variáveis de membro, retornos de chamada e WeaveTunnelControl .

IsPrimaryTunnelEnabled

bool IsPrimaryTunnelEnabled(
  void
) const 

Verifique se o túnel primário está habilitado.

Detalhes
Devoluções
verdadeiro se estiver habilitado, caso contrário, falso.

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

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

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

Detalhes
Devoluções
true se o túnel primário for 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
Devoluções
true se o túnel primário ou de backup for estabelecido e ambos estiverem sujeitos a restrições de roteamento pelo serviço.

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

Retorno de chamada invocado pela plataforma quando o resultado do verificador online da rede está disponível.

Detalhes
Parâmetros
[in] tunType
O tipo de túnel correspondente à interface na qual a verificação de conectividade de rede é executada.
[in] isOnline
Verdadeiro se a rede estiver online, falso caso contrário.

ResetPrimaryReconnectBackoff

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

Redefina o tempo de reconexão para o túnel primário.

Detalhes
Parâmetros
[in] reconnectImmediately
Verdadeiro se necessário para reconectar imediatamente, caso contrário, usando o tempo limite de reconexão configurado.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

Defina o WeaveAuthMode para o túnel.

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

Definir destino

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

Defina o destino nodeId, IPAddress e porta para o túnel.

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

Detalhes
Parâmetros
[in] nodeId
ID do nó 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 a função do dispositivo de encapsulamento (BorderGateway, StandaloneDevice, MobileDevice) para o encapsulamento.

Defina a função do dispositivo de encapsulamento (BorderGateway vs Standalone) para o encapsulamento.

Detalhes
Parâmetros
[in] role
Função assumida pelo Agente de Túnel; Gateway de borda, autônomo ou dispositivo móvel.

Desligar

WEAVE_ERROR Shutdown(
  void
)

Desligue o Agente de Túnel.

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

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

Detalhes
Devoluções
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 de túnel.

Detalhes
Devoluções
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
)

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

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

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

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

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

Funções estáticas públicas

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

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

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.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

Manipulador para receber pacotes IPv6 da interface do Tunnel EndPoint e encaminhá-los para o serviço por meio da conexão TCP do serviço após encapsular o pacote IPv6 dentro do cabeçalho do túnel ou para o cliente móvel em um túnel de atalho.

Manipulador para receber pacotes IPv6 da interface do Tunnel EndPoint e encaminhá-los para o serviço por meio da conexão TCP do serviço após encapsular o pacote IPv6 dentro do cabeçalho do túnel ou para o cliente móvel em um túnel local.

Se a conexão de serviço ainda não estiver estabelecida, a mensagem será enfileirada até que a conexão seja configurada. Para o tunelamento para o dispositivo cliente móvel, a tabela de vizinho nexthop é referenciada.

Se a conexão de serviço ainda não estiver estabelecida, a mensagem será enfileirada até que a conexão seja configurada. Para o tunelamento para o dispositivo cliente móvel, a tabela de vizinho nexthop é referenciada.

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