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 le 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 avant expiration(en secondes) des réponses aux messages de contrôle.
mShortcutTunnelAdvInterval
uint16_t
Intervalle en secondes pour les annonces périodiques de tunnel de raccourcis.

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 raccourcis pour l'envoi d'annonces depuis la passerelle frontière ou le client mobile, et pour l'écoute des publicités des homologues du tunnel de raccourcis.
EnableShortcutTunneling(void)
void
Activez la tunnelisation de raccourcis en envoyant des annonces à partir de la passerelle frontière ou du client mobile, et en écoutant celles des homologues du tunnel de raccourcis.
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
Initialisez WeaveTunnelControl pour définir les membres pertinents tels que l'agent de tunnel Weave et les rappels.
IsPeerInShortcutTunnelCache(uint64_t peerId)
bool
Vérifiez si le pair est présent dans le cache du raccourci 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 en annonçant l'ID de la structure.
SendMessageOverTunnelShortcut(uint64_t peerId, WeaveMessageInfo *msgHdr, PacketBuffer *msg)
Envoyez le message via le raccourci du tunnel.
SendMobileClientAdvertise(void)
Envoyer un message d'annonce de client mobile annonçant son ID de nœud.
SendTunnelClose(WeaveTunnelConnectionMgr *conMgr)
Envoyez un message de contrôle de fermeture du 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 de route 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 avec WeaveMessageLayer pour écouter les annonces de tunnel de raccourci et mettre à jour le cache.

Types publics

TunnelStatusRcvdFunct

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

Pointeur de fonction vers le 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 du contrôle de tunnel.

Attributs publics

OnTunStatusRcvd

TunnelStatusRcvdFunct OnTunStatusRcvd

mCtrlResponseTimeout

uint16_t mCtrlResponseTimeout

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

mShortcutTunnelAdvInterval

uint16_t mShortcutTunnelAdvInterval

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

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 raccourcis pour l'envoi d'annonces depuis la passerelle frontière ou le client mobile, et pour l'écoute des publicités des homologues du tunnel de raccourcis.

EnableShortcutTunneling

void EnableShortcutTunneling(
  void
)

Activez la tunnelisation de raccourcis en envoyant des annonces à partir de la passerelle frontière ou du client mobile, et en écoutant celles 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 de tunnel Weave et les rappels.

Détails
Paramètres
[in] tunAgent
Un 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 du raccourci 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 en annonçant l'ID de la structure.

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 de client mobile annonçant son ID de nœud.

SendTunnelClose

WEAVE_ERROR SendTunnelClose(
  WeaveTunnelConnectionMgr *conMgr
)

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

Envoyez un message de contrôle de fermeture du 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 de route 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 avec WeaveMessageLayer pour écouter les annonces de tunnel de raccourcis et mettre à jour le cache.