nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
Cette classe encapsule tous les états de connexion au tunnel Weave, ainsi que la logique et les fonctions de gestion associées.
Résumé
Une instance de cette classe serait utilisée pour gérer le tunnel sur chaque interface par laquelle le tunnel Weave vers le service existerait.
Constructeurs et destructeurs |
|
---|---|
WeaveTunnelConnectionMgr(void)
|
Types publics |
|
---|---|
ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
|
typedefvoid(*
Rappel visant à récupérer l'intervalle de temps d'attente avant la reconnexion du tunnel suivant. |
TunnelConnNotifyReasons{
|
énum |
TunnelConnNotifyReasons
|
typedef |
TunnelConnectionState{
|
énum |
TunnelConnectionState
|
typedef |
Attributs publics |
|
---|---|
mServiceConnDelayPolicyCallback
|
Fonctions publiques |
|
---|---|
Init(WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
|
Initialisez WeaveTunnelConnectionMgr.
|
ServiceTunnelClose(WEAVE_ERROR err)
|
void
Fermez le tunnel de service.
|
SetInterfaceName(const char *intfName)
|
void
Définissez InterfaceName pour la connexion de tunnel.
|
SetInterfaceType(const SrcInterfaceType srcIntfType)
|
void
Définissez SrcInterfaceType pour la connexion par tunnel.
|
Shutdown(void)
|
void
Arrêtez WeaveTunnelConnectionMgr.
|
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
|
void
Arrêtez la connexion au tunnel de service, puis réessayez de vous reconnecter.
|
TryConnectingNow(void)
|
Essayez d'établir une connexion au service.
|
Fonctions statiques publiques |
|
---|---|
DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
|
void
Implémentation de la règle par défaut pour récupérer la prochaine fois que vous vous connecterez au service.
|
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Gestionnaire appelé lorsque la connexion TCP du service est fermée.
|
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Gestionnaire appelé lorsque la connexion TCP du service est terminée.
|
RecvdFromService(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
|
void
Gestionnaire pour recevoir les paquets IPv6 acheminés par tunnel depuis la connexion TCP du service et les transférer à l'interface du point de terminaison du tunnel après avoir décapsulé le paquet IPv6 brut à partir de l'en-tête du tunnel.
|
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
|
void
Gestionnaire appelé si Service Manager n'a pas réussi à établir la connexion TCP au service.
|
Types publics
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
Rappel visant à récupérer l'intervalle de temps d'attente avant la reconnexion du tunnel suivant.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
Propriétés | |
---|---|
kStatus_TunBackupConnError
|
Indique qu'une tentative de connexion au tunnel de secours a échoué ou qu'une tentative existante a été annulée ou fermée localement par un pair. |
kStatus_TunBackupLiveness
|
Permet d'indiquer des informations sur la vérification de l'activité du tunnel dans le tunnel Backup Weave. |
kStatus_TunBackupOnlyDown
|
Permet d'indiquer que le tunnel de secours est indisponible. |
kStatus_TunBackupReconnectRcvd
|
Utilisé pour indiquer que le service a demandé une reconnexion pour le tunnel Weave de sauvegarde. |
kStatus_TunBackupUp
|
Utilisé pour indiquer que le tunnel Back Weave est opérationnel. |
kStatus_TunDown
|
Indique que le tunnel Weave est tombé en panne. |
kStatus_TunFailoverToBackup
|
Utilisé pour indiquer que le tunnel principal est hors service et que le basculement vers le tunnel de secours a eu lieu. |
kStatus_TunPrimaryAndBackupUp
|
Utilisé pour indiquer que le tunnel principal et le tunnel Weave de secours sont opérationnels. |
kStatus_TunPrimaryConnError
|
Indique qu'une tentative de connexion au tunnel principal a échoué ou qu'une tentative existante a été annulée ou fermée localement par un pair. |
kStatus_TunPrimaryLiveness
|
Permet d'indiquer des informations concernant la vérification de l'activité du tunnel dans le tunnel Weave principal. |
kStatus_TunPrimaryReconnectRcvd
|
Utilisé pour indiquer que le service a demandé une reconnexion pour le tunnel Weave principal. |
kStatus_TunPrimaryUp
|
Utilisé pour indiquer que le tunnel Weave principal est opérationnel. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
Propriétés | |
---|---|
kState_Connecting
|
Indique que la connexion au tunnel Weave a été initiée. |
kState_ConnectionEstablished
|
Indique que la connexion au tunnel Weave est établie et que les informations sur le trajet sont échangées. |
kState_NotConnected
|
Permet d'indiquer que le tunnel Weave n'est pas connecté. |
kState_ReconnectRecvd
|
Utilisé pour indiquer que le service souhaite que la passerelle frontière se reconnecte après une recherche dans le répertoire. |
kState_TunnelClosing
|
Utilisé pour indiquer que le tunnel Weave se ferme et que la connexion est en cours de suppression. |
kState_TunnelOpen
|
Utilisé pour indiquer que le tunnel Weave est ouvert et prêt pour le transit du trafic de données. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
Attributs publics
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
Fonctions publiques
Init
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
Initialisez WeaveTunnelConnectionMgr.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
Fermez le tunnel de service.
Détails | |||
---|---|---|---|
Paramètres |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Définissez InterfaceName pour la connexion de tunnel.
Détails | |||
---|---|---|---|
Paramètres |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Définissez SrcInterfaceType pour la connexion par tunnel.
Détails | |||
---|---|---|---|
Paramètres |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Arrêtez la connexion au tunnel de service, puis réessayez de vous reconnecter.
Détails | |||
---|---|---|---|
Paramètres |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
Essayez d'établir une connexion au service.
Essayez d'établir une connexion au service à l'aide de ServiceManager ou directement.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
Fonctions statiques publiques
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
Implémentation de la règle par défaut pour récupérer la prochaine fois que vous vous connecterez au service.
Cette règle sélectionne un intervalle de temps aléatoire (avec une résolution de l'ordre de la milliseconde) sur une fenêtre croissante, suivant une séquence de fibonacci jusqu'à WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Gestionnaire appelé lorsque la connexion TCP du service est fermée.
L'appareil tente de rétablir la connexion au service si la valeur de mServiceConKeepAlive est "true".
L'appareil tente ensuite de rétablir la connexion au Service.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Gestionnaire appelé lorsque la connexion TCP du service est terminée.
L'appareil lance alors des commandes de contrôle de tunnel vers le service à partir de cette fonction.
L'appareil lance alors des commandes de contrôle de tunnel vers le service à partir de cette fonction.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
Gestionnaire pour recevoir les paquets IPv6 acheminés par tunnel depuis la connexion TCP du service et les transférer à l'interface du point de terminaison du tunnel après avoir décapsulé le paquet IPv6 brut à partir de l'en-tête du tunnel.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
Gestionnaire appelé si Service Manager n'a pas réussi à établir la connexion TCP au service.