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

Résumé

Constructeurs et destructeurs

WeaveTunnelControl(void)

Types publics

TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus) typedef
void(*
Pointeur de fonction vers un gestionnaire défini par une couche supérieure pour agir à la réception d'un message StatusReport en réponse à un message de contrôle de tunnel envoyé.

Attributs publics

OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t
Délai(en secondes) des réponses aux messages de contrôle.
mShortcutTunnelAdvInterval
uint16_t
Intervalle en secondes pour les annonces de tunnels de raccourcis périodiques.

Fonctions publiques

Close(void)
Fermez WeaveTunnelControl en fermant tous les contextes d'échange en attente et en réinitialisant les membres.
DisableShortcutTunneling(void)
void
Désactivez la tunnelisation de raccourci lors de l'envoi de publicités à partir de la passerelle de bordure ou du client mobile, et de l'écoute des publicités des homologues du tunnel de raccourcis.
EnableShortcutTunneling(void)
void
Activez la tunnellisation des raccourcis en envoyant des annonces à partir de la passerelle de bordure ou du client mobile, et en écoutant les publicités des homologues du tunnel de raccourcis.
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
Initialisez WeaveTunnelControl pour définir les membres pertinents, tels que l'agent Weave Tunnel et les rappels.
IsPeerInShortcutTunnelCache(uint64_t peerId)
bool
Vérifiez si le pair est présent dans le cache des raccourcis du tunnel pour l'envoi local.
Reconnect(WeaveTunnelConnectionMgr *conMgr)
Reconnectez-vous au nœud pair.
SendBorderRouterAdvertise(void)
Envoyer un message publicitaire de routeur de bordure annonçant son ID de fabric.
SendMessageOverTunnelShortcut(uint64_t peerId, WeaveMessageInfo *msgHdr, PacketBuffer *msg)
Envoyez le message via le raccourci du tunnel.
SendMobileClientAdvertise(void)
Envoyer un message d'annonce à un client mobile annonçant son ID de nœud.
SendTunnelClose(WeaveTunnelConnectionMgr *conMgr)
Envoyez un message de contrôle de fermeture de tunnel au nœud pair avec un ensemble de routes de tunnel.
SendTunnelOpen(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Envoyez un message de contrôle d'ouverture de tunnel au nœud pair avec un ensemble de routes de tunnel.
SendTunnelRouteUpdate(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
Envoyez un message de contrôle de mise à jour des routes de tunnel au nœud pair avec un ensemble de routes de tunnel.

Fonctions statiques publiques

HandleShortcutTunnelAdvertiseMessage(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
Fonction enregistrée auprès de WeaveMessageLayer pour écouter les annonces du tunnel de raccourcis et mettre à jour le cache.

Types publics

TunnelStatusRcvdFunct

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

Pointeur de fonction vers un gestionnaire défini par une couche supérieure pour agir à la réception d'un message StatusReport en réponse à un message de contrôle de tunnel envoyé.

Détails
Paramètres
[in] tType
Type de tunnel, c'est-à-dire Principale ou secondaire.
[in] tunStatus
Référence au message StatusReport de contrôle de tunnel.

Attributs publics

OnTunStatusRcvd

TunnelStatusRcvdFunct OnTunStatusRcvd

mCtrlResponseTimeout

uint16_t mCtrlResponseTimeout

Délai(en secondes) des réponses aux messages de contrôle.

mShortcutTunnelAdvInterval

uint16_t mShortcutTunnelAdvInterval

Intervalle en secondes pour les annonces de tunnels de raccourcis périodiques.

Fonctions publiques

Fermer

WEAVE_ERROR Close(
  void
)

Fermez WeaveTunnelControl en fermant tous les contextes d'échange en attente et en réinitialisant les membres.

Détails
Renvoie
WEAVE_NO_ERROR.

DisableShortcutTunneling

void DisableShortcutTunneling(
  void
)

Désactivez la tunnelisation de raccourci lors de l'envoi de publicités à partir de la passerelle de bordure ou du client mobile, et de l'écoute des publicités des homologues du tunnel de raccourcis.

EnableShortcutTunneling

void EnableShortcutTunneling(
  void
)

Activez la tunnellisation des raccourcis en envoyant des annonces à partir de la passerelle de bordure ou du client mobile, et en écoutant les publicités des homologues du tunnel de raccourcis.

Init

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelStatusRcvdFunct statusRcvd
)

Initialisez WeaveTunnelControl pour définir les membres pertinents, tels que l'agent Weave Tunnel et les rappels.

Détails
Paramètres
[in] tunAgent
Pointeur vers l'objet WeaveTunnelAgent.
[in] statusRcvd
Pointeur vers un rappel pour le gestionnaire StatusRcvd.
Renvoie
WEAVE_NO_ERROR

IsPeerInShortcutTunnelCache

bool IsPeerInShortcutTunnelCache(
  uint64_t peerId
)

Vérifiez si le pair est présent dans le cache des raccourcis du tunnel pour l'envoi local.

Se reconnecter

WEAVE_ERROR Reconnect(
  WeaveTunnelConnectionMgr *conMgr
)

Reconnectez-vous au nœud pair.

SendBorderRouterAdvertise

WEAVE_ERROR SendBorderRouterAdvertise(
  void
)

Envoyer un message publicitaire de routeur de bordure annonçant son ID de fabric.

SendMessageOverTunnelShortcut

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

Envoyez le message via le raccourci du tunnel.

SendMobileClientAdvertise

WEAVE_ERROR SendMobileClientAdvertise(
  void
)

Envoyer un message d'annonce à un client mobile annonçant son ID de nœud.

SendTunnelClose

WEAVE_ERROR SendTunnelClose(
  WeaveTunnelConnectionMgr *conMgr
)

Envoyez un message de contrôle de fermeture de tunnel au nœud pair avec un ensemble de routes de tunnel.

Envoyez un message de contrôle de fermeture de tunnel au nœud pair.

Détails
Paramètres
[in] conMgr
Pointeur vers l'objet WeaveTunnelConnectionMgr.
Renvoie
WEAVE_ERROR WEAVE_NO_ERROR en cas de réussite, sinon erreur.

SendTunnelOpen

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Envoyez un message de contrôle d'ouverture de tunnel au nœud pair avec un ensemble de routes de tunnel.

Détails
Paramètres
[in] conMgr
Pointeur vers l'objet WeaveTunnelConnectionMgr.
[in] tunRoutes
Liste des routes de préfixe à ajouter à la table de routage.
Renvoie
WEAVE_ERROR WEAVE_NO_ERROR en cas de réussite, sinon erreur.

SendTunnelRouteUpdate

WEAVE_ERROR SendTunnelRouteUpdate(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

Envoyez un message de contrôle de mise à jour des routes de tunnel au nœud pair avec un ensemble de routes de tunnel.

Détails
Paramètres
[in] conMgr
Pointeur vers l'objet WeaveTunnelConnectionMgr.
[in] tunRoutes
Liste des routes de préfixe à ajouter à la table de routage.
Renvoie
WEAVE_ERROR WEAVE_NO_ERROR en cas de réussite, sinon erreur.

WeaveTunnelControl

 WeaveTunnelControl(
  void
)

Fonctions statiques publiques

HandleShortcutTunnelAdvertiseMessage

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

Fonction enregistrée auprès de WeaveMessageLayer pour écouter les annonces du tunnel de raccourcis et mettre à jour le cache.