nl::Weave::Profiles::WeaveTunnel::WeaveTunnelControl

Resumo

Construtores e destruidores

WeaveTunnelControl(void)

Tipos públicos

TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus) typedef
void(*
Ponteiro de função para o gerenciador definido por uma camada superior para agir após o recebimento de uma mensagem StatusReport em resposta a uma mensagem de controle de túnel enviada.

Atributos públicos

OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t
O tempo limite(em segundos) das respostas para controlar as mensagens.
mShortcutTunnelAdvInterval
uint16_t
Intervalo em segundos para divulgações periódicas de túnel de atalho.

Funções públicas

Close(void)
Feche WeaveTunnelControl encerrando contextos de troca pendentes e redefinindo membros.
DisableShortcutTunneling(void)
void
Desative o tunelamento de atalhos de envio de anúncios do gateway de borda ou do cliente móvel e também ouça anúncios de contrapartes do túnel de atalho.
EnableShortcutTunneling(void)
void
Ative o encapsulamento de atalhos enviando anúncios do gateway de borda ou do cliente móvel e também detectando anúncios de contrapartes do túnel de atalho.
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
Inicialize WeaveTunnelControl para definir membros relevantes, como o agente do Weave Tunnel e callbacks.
IsPeerInShortcutTunnelCache(uint64_t peerId)
bool
Verifique se o peering está presente no cache de atalho do túnel para enviar localmente.
Reconnect(WeaveTunnelConnectionMgr *conMgr)
Reconecte-se com o nó de peering.
SendBorderRouterAdvertise(void)
Envie uma mensagem de publicidade de um roteador de borda anunciando o ID de malha.
SendMessageOverTunnelShortcut(uint64_t peerId, WeaveMessageInfo *msgHdr, PacketBuffer *msg)
Envie a mensagem pelo atalho do túnel.
SendMobileClientAdvertise(void)
Envie a um cliente de dispositivo móvel anunciando uma mensagem sobre o ID de nó.
SendTunnelClose(WeaveTunnelConnectionMgr *conMgr)
Envie uma mensagem de controle de fechamento de túnel para o nó de peering com um conjunto de rotas de túnel.
SendTunnelOpen(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Envie uma mensagem de controle de túnel aberto para o nó de peering com um conjunto de rotas de túnel.
SendTunnelRouteUpdate(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Envie uma mensagem de controle de atualização de rota de túnel para o nó de peering com um conjunto de rotas de túnel.

Funções estáticas públicas

HandleShortcutTunnelAdvertiseMessage(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
Função registrada com WeaveMessageLayer para detectar anúncios do túnel de atalhos e atualizar o cache.

Tipos públicos

TunnelStatusRcvdFunct

void(* TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus)

Ponteiro de função para o gerenciador definido por uma camada superior para agir após o recebimento de uma mensagem StatusReport em resposta a uma mensagem de controle de túnel enviada.

Detalhes
Parâmetros
[in] tType
O tipo de túnel, ou seja, Principal ou Backup.
[in] tunStatus
Uma referência à mensagem StatusReport do controle de túnel.

Atributos públicos

OnTunStatusRcvd

TunnelStatusRcvdFunct OnTunStatusRcvd

mCtrlResponseTimeout

uint16_t mCtrlResponseTimeout

O tempo limite(em segundos) das respostas para controlar as mensagens.

mShortcutTunnelAdvInterval

uint16_t mShortcutTunnelAdvInterval

Intervalo em segundos para divulgações periódicas de túnel de atalho.

Funções públicas

Fechar

WEAVE_ERROR Close(
  void
)

Feche WeaveTunnelControl encerrando contextos de troca pendentes e redefinindo membros.

Detalhes
Retornos
WEAVE_NO_ERROR.

DisableShortcutTunneling

void DisableShortcutTunneling(
  void
)

Desative o tunelamento de atalhos de envio de anúncios do gateway de borda ou do cliente móvel e também ouça anúncios de contrapartes do túnel de atalho.

EnableShortcutTunneling

void EnableShortcutTunneling(
  void
)

Ative o encapsulamento de atalhos enviando anúncios do gateway de borda ou do cliente móvel e também detectando anúncios de contrapartes do túnel de atalho.

Init

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelStatusRcvdFunct statusRcvd
)

Inicialize WeaveTunnelControl para definir membros relevantes, como o agente do Weave Tunnel e callbacks.

Detalhes
Parâmetros
[in] tunAgent
Um ponteiro para o objeto WeaveTunnelAgent.
[in] statusRcvd
Um ponteiro para um callback para o gerenciador StatusRcvd.
Retornos
WEAVE_NO_ERROR

IsPeerInShortcutTunnelCache

bool IsPeerInShortcutTunnelCache(
  uint64_t peerId
)

Verifique se o peering está presente no cache de atalho do túnel para enviar localmente.

Reconectar

WEAVE_ERROR Reconnect(
  WeaveTunnelConnectionMgr *conMgr
)

Reconecte-se com o nó de peering.

SendBorderRouterAdvertise

WEAVE_ERROR SendBorderRouterAdvertise(
  void
)

Envie uma mensagem de publicidade de um roteador de borda anunciando o ID de malha.

SendMessageOverTunnelShortcut

WEAVE_ERROR SendMessageOverTunnelShortcut(
  uint64_t peerId,
  WeaveMessageInfo *msgHdr,
  PacketBuffer *msg
)

Envie a mensagem pelo atalho do túnel.

SendMobileClientAdvertise

WEAVE_ERROR SendMobileClientAdvertise(
  void
)

Envie a um cliente de dispositivo móvel anunciando uma mensagem sobre o ID de nó.

SendTunnelClose

WEAVE_ERROR SendTunnelClose(
  WeaveTunnelConnectionMgr *conMgr
)

Envie uma mensagem de controle de fechamento de túnel para o nó de peering com um conjunto de rotas de túnel.

Envie uma mensagem de controle de fechamento de túnel para o nó de peering.

Detalhes
Parâmetros
[in] conMgr
Um ponteiro para o objeto WeaveTunnelConnectionMgr.
Retornos
WEAVE_ERROR WEAVE_NO_ERROR com sucesso; caso contrário, resulta em erro.

SendTunnelOpen

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Envie uma mensagem de controle de túnel aberto para o nó de peering com um conjunto de rotas de túnel.

Detalhes
Parâmetros
[in] conMgr
Um ponteiro para o objeto WeaveTunnelConnectionMgr.
[in] tunRoutes
Lista de rotas de prefixo a serem adicionadas à tabela de rotas.
Retornos
WEAVE_ERROR WEAVE_NO_ERROR com sucesso; caso contrário, resulta em erro.

SendTunnelRouteUpdate

WEAVE_ERROR SendTunnelRouteUpdate(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Envie uma mensagem de controle de atualização de rota de túnel para o nó de peering com um conjunto de rotas de túnel.

Detalhes
Parâmetros
[in] conMgr
Um ponteiro para o objeto WeaveTunnelConnectionMgr.
[in] tunRoutes
Lista de rotas de prefixo a serem adicionadas à tabela de rotas.
Retornos
WEAVE_ERROR WEAVE_NO_ERROR com sucesso; caso contrário, resulta em erro.

WeaveTunnelControl

 WeaveTunnelControl(
  void
)

Funções estáticas públicas

HandleShortcutTunnelAdvertiseMessage

void HandleShortcutTunnelAdvertiseMessage(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

Função registrada com WeaveMessageLayer para detectar anúncios do túnel de atalhos e atualizar o cache.