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 per agire alla ricezione di un messaggio StatusReport in risposta a un messaggio di controllo Tunnel inviato.

Attributi pubblici

OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t
Il timeout(in secondi) per le risposte ai messaggi di controllo.
mShortcutTunnelAdvInterval
uint16_t
Intervallo in secondi per gli annunci periodici del tunnel di scorciatoie.

Funzioni pubbliche

Close(void)
Chiudi WeaveTunnelControl chiudendo gli eventuali 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 dall'ascolto degli annunci provenienti dalle controparti del tunnel delle scorciatoie.
EnableShortcutTunneling(void)
void
Attiva il tunneling delle scorciatoie inviando annunci dal gateway di confine o dal client mobile e ascoltando gli annunci provenienti da altri tipi di tunnel.
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
Inizializza WeaveTunnelControl per impostare i membri pertinenti come Weave Tunnel Agent e i callback.
IsPeerInShortcutTunnelCache(uint64_t peerId)
bool
Verifica se il peer è presente nella cache delle scorciatoie del tunnel per l'invio in locale.
Reconnect(WeaveTunnelConnectionMgr *conMgr)
Riconnettiti con il nodo peer.
SendBorderRouterAdvertise(void)
Invia un messaggio pubblicitario per 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)
Invia un messaggio pubblicitario a un cliente mobile pubblicizzando il suo ID nodo.
SendTunnelClose(WeaveTunnelConnectionMgr *conMgr)
Invia un messaggio di controllo di chiusura del tunnel al nodo peer con un insieme di route di tunnel.
SendTunnelOpen(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Invia un messaggio di controllo Tunnel Open al nodo peer con un insieme di route tunnel.
SendTunnelRouteUpdate(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Invia un messaggio di controllo dell'aggiornamento delle route del tunnel al nodo peer con un insieme di route di 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 di annunci del tunnel di 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 per agire alla ricezione di un messaggio StatusReport in risposta a un messaggio di controllo Tunnel inviato.

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

Attributi pubblici

OnTunStatusRcvd

TunnelStatusRcvdFunct OnTunStatusRcvd

mCtrlResponseTimeout

uint16_t mCtrlResponseTimeout

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

mShortcutTunnelAdvInterval

uint16_t mShortcutTunnelAdvInterval

Intervallo in secondi per gli annunci periodici del tunnel di scorciatoie.

Funzioni pubbliche

Chiudi

WEAVE_ERROR Close(
  void
)

Chiudi WeaveTunnelControl chiudendo gli eventuali 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 dall'ascolto degli annunci provenienti dalle controparti del tunnel delle scorciatoie.

EnableShortcutTunneling

void EnableShortcutTunneling(
  void
)

Attiva il tunneling delle scorciatoie inviando annunci dal gateway di confine o dal client mobile e ascoltando gli annunci provenienti da altri tipi di tunnel.

Inizia

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelStatusRcvdFunct statusRcvd
)

Inizializza WeaveTunnelControl per impostare i membri pertinenti come Weave Tunnel Agent e i 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 in locale.

Riconnetti

WEAVE_ERROR Reconnect(
  WeaveTunnelConnectionMgr *conMgr
)

Riconnettiti con il nodo peer.

SendBorderRouterAdvertise

WEAVE_ERROR SendBorderRouterAdvertise(
  void
)

Invia un messaggio pubblicitario per 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
)

Invia un messaggio pubblicitario a un cliente mobile pubblicizzando il suo ID nodo.

SendTunnelClose

WEAVE_ERROR SendTunnelClose(
  WeaveTunnelConnectionMgr *conMgr
)

Invia un messaggio di controllo di chiusura del tunnel al nodo peer con un insieme di route di tunnel.

Invia un messaggio di controllo di chiusura tunnel al nodo peer.

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

SendTunnelOpen

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

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

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

SendTunnelRouteUpdate

WEAVE_ERROR SendTunnelRouteUpdate(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Invia un messaggio di controllo dell'aggiornamento delle route del tunnel al nodo peer con un insieme di route di tunnel.

Dettagli
Parametri
[in] conMgr
Un puntatore all'oggetto WeaveTunnelConnectionMgr.
[in] tunRoutes
Elenco di route prefisso da aggiungere alla tabella delle route.
Restituisce
WEAVE_ERROR WEAVE_NO_ERROR in caso di esito positivo, 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 di annunci del tunnel di scorciatoia e l'aggiornamento della cache.