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

Riepilogo

Costruttori e distruttori

WeaveTunnelControl(void)

Tipi pubblici

TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus) typedef
void(*
Puntatore di funzione al gestore impostato da un livello superiore che agisce alla ricezione di un messaggio StatusReport in risposta all'invio di un messaggio di controllo del tunnel.

Attributi pubblici

OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t
Timeout(in secondi) per le risposte ai messaggi di controllo.
mShortcutTunnelAdvInterval
uint16_t
Intervallo in secondi per gli annunci periodici dei tunnel di scorciatoia.

Funzioni pubbliche

Close(void)
Chiudi WeaveTunnelControl chiudendo tutti i contesti di scambio in sospeso e reimpostando i membri.
DisableShortcutTunneling(void)
void
Disattiva il tunneling delle scorciatoie per l'invio di annunci dal gateway di confine o dal client mobile e l'ascolto di annunci dalle controparti del tunnel scorciatoia.
EnableShortcutTunneling(void)
void
Abilita il tunneling delle scorciatoie inviando gli annunci dal gateway di confine o dal client mobile e ascoltando gli annunci dalle controparti dei tunnel scorciatoia.
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
Inizializza WeaveTunnelControl per impostare membri pertinenti come Weave Tunnel Agent e callback.
IsPeerInShortcutTunnelCache(uint64_t peerId)
bool
Verifica se il peer è presente nella cache delle scorciatoie del tunnel per l'invio locale.
Reconnect(WeaveTunnelConnectionMgr *conMgr)
Riconnettiti al nodo peer.
SendBorderRouterAdvertise(void)
Invia un messaggio pubblicitario di un router di confine che pubblicizza il suo ID fabric.
SendMessageOverTunnelShortcut(uint64_t peerId, WeaveMessageInfo *msgHdr, PacketBuffer *msg)
Invia un messaggio sopra la scorciatoia del tunnel.
SendMobileClientAdvertise(void)
Inviare a un cliente mobile un messaggio pubblicitario che pubblicizza il suo ID nodo.
SendTunnelClose(WeaveTunnelConnectionMgr *conMgr)
Invia un messaggio di controllo Tunnel Close al nodo peer con una serie di route di tunnel.
SendTunnelOpen(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Invia un messaggio di controllo Tunnel Open al nodo peer con una serie di route tunnel.
SendTunnelRouteUpdate(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Invia un messaggio di controllo di aggiornamento delle route del tunnel al nodo peer con una serie di route del tunnel.

Funzioni statiche pubbliche

HandleShortcutTunnelAdvertiseMessage(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
Funzione registrata con WeaveMessageLayer per l'ascolto degli annunci del tunnel Scorciatoia e l'aggiornamento della cache.

Tipi pubblici

TunnelStatusRcvdFunct

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

Puntatore di funzione al gestore impostato da un livello superiore che agisce alla ricezione di un messaggio StatusReport in risposta all'invio di un messaggio di controllo del tunnel.

Dettagli
Parametri
[in] tType
Il tipo di tunnel, ad esempio Principale o di backup.
[in] tunStatus
Un riferimento al messaggio StatusReport del controllo del tunnel.

Attributi pubblici

OnTunStatusRcvd

TunnelStatusRcvdFunct OnTunStatusRcvd

mCtrlResponseTimeout

uint16_t mCtrlResponseTimeout

Timeout(in secondi) per le risposte ai messaggi di controllo.

mShortcutTunnelAdvInterval

uint16_t mShortcutTunnelAdvInterval

Intervallo in secondi per gli annunci periodici dei tunnel di scorciatoia.

Funzioni pubbliche

Chiudi

WEAVE_ERROR Close(
  void
)

Chiudi WeaveTunnelControl chiudendo tutti i contesti di scambio in sospeso e reimpostando i membri.

Dettagli
Restituisce
WEAVE_NO_ERROR.

DisableShortcutTunneling

void DisableShortcutTunneling(
  void
)

Disattiva il tunneling delle scorciatoie per l'invio di annunci dal gateway di confine o dal client mobile e l'ascolto di annunci dalle controparti del tunnel scorciatoia.

EnableShortcutTunneling

void EnableShortcutTunneling(
  void
)

Abilita il tunneling delle scorciatoie inviando gli annunci dal gateway di confine o dal client mobile e ascoltando gli annunci dalle controparti dei tunnel scorciatoia.

Init

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelStatusRcvdFunct statusRcvd
)

Inizializza WeaveTunnelControl per impostare membri pertinenti come Weave Tunnel Agent e callback.

Dettagli
Parametri
[in] tunAgent
Un puntatore all'oggetto WeaveTunnelAgent.
[in] statusRcvd
Un puntatore a un callback per il gestore StatusRcvd.
Restituisce
WEAVE_NO_ERROR

IsPeerInShortcutTunnelCache

bool IsPeerInShortcutTunnelCache(
  uint64_t peerId
)

Verifica se il peer è presente nella cache delle scorciatoie del tunnel per l'invio locale.

Riconnetti

WEAVE_ERROR Reconnect(
  WeaveTunnelConnectionMgr *conMgr
)

Riconnettiti al nodo peer.

SendBorderRouterAdvertise

WEAVE_ERROR SendBorderRouterAdvertise(
  void
)

Invia un messaggio pubblicitario di un router di confine che pubblicizza il suo ID fabric.

SendMessageOverTunnelShortcut

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

Invia un messaggio sopra la scorciatoia del tunnel.

SendMobileClientAdvertise

WEAVE_ERROR SendMobileClientAdvertise(
  void
)

Inviare a un cliente mobile un messaggio pubblicitario che pubblicizza il suo ID nodo.

SendTunnelClose

WEAVE_ERROR SendTunnelClose(
  WeaveTunnelConnectionMgr *conMgr
)

Invia un messaggio di controllo Tunnel Close al nodo peer con una serie di route di tunnel.

Invia un messaggio di controllo Tunnel Close al nodo peer.

Dettagli
Parametri
[in] conMgr
Un puntatore all'oggetto WeaveTunnelConnectionMgr.
Restituisce
WEAVE_ERROR WEAVE_NO_ERROR in caso di operazione riuscita, altrimenti errore.

SendTunnelOpen

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Invia un messaggio di controllo Tunnel Open al nodo peer con una serie di route tunnel.

Dettagli
Parametri
[in] conMgr
Un puntatore all'oggetto WeaveTunnelConnectionMgr.
[in] tunRoutes
Elenco di route con prefisso da aggiungere alla tabella delle route.
Restituisce
WEAVE_ERROR WEAVE_NO_ERROR in caso di operazione riuscita, altrimenti errore.

SendTunnelRouteUpdate

WEAVE_ERROR SendTunnelRouteUpdate(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Invia un messaggio di controllo di aggiornamento delle route del tunnel al nodo peer con una serie di route del tunnel.

Dettagli
Parametri
[in] conMgr
Un puntatore all'oggetto WeaveTunnelConnectionMgr.
[in] tunRoutes
Elenco di route con prefisso da aggiungere alla tabella delle route.
Restituisce
WEAVE_ERROR WEAVE_NO_ERROR in caso di operazione riuscita, altrimenti errore.

WeaveTunnelControl

 WeaveTunnelControl(
  void
)

Funzioni statiche pubbliche

HandleShortcutTunnelAdvertiseMessage

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

Funzione registrata con WeaveMessageLayer per l'ascolto degli annunci del tunnel Scorciatoia e l'aggiornamento della cache.