nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelAgent
Résumé
Constructeurs et destructeurs |
|
---|---|
WeaveTunnelAgent(void)
|
Types publics |
|
---|---|
AgentState{
|
énum États de l'agent de tunnel en lien avec sa ou ses connexions au service. |
AgentState
|
typedef États de l'agent de tunnel en lien avec sa ou ses connexions au service. |
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
|
typedefvoid(*
Pointeur de fonction vers le gestionnaire défini par une couche supérieure lorsqu'une reconnexion de tunnel est reçue du service. |
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
|
typedefvoid(*
Pointeur de fonction vers un gestionnaire défini par une couche supérieure pour agir en fonction de différentes notifications liées au tunnel vers le service. |
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
|
typedefvoid(*
Pointeur de fonction vers un gestionnaire fourni par l'application pour effectuer une vérification en ligne au niveau du réseau. |
WeaveTunnelFlags{
|
énum Bits indicateurs Weave Tunnel. |
WeaveTunnelFlags
|
typedef Bits indicateurs Weave Tunnel. |
Attributs publics |
|
---|---|
NetworkOnlineCheck
|
|
OnServiceTunReconnectNotify
|
|
OnServiceTunStatusNotify
|
Pointeur de fonction vers un gestionnaire défini par une couche supérieure pour agir en fonction de différentes notifications liées au tunnel vers le service.
|
mServiceMgr
|
WeaveServiceManager *
Pointeur du gestionnaire de services à utiliser pour rechercher un service et s'y connecter.
|
Fonctions publiques |
|
---|---|
DisablePrimaryTunnel(void)
|
void
Désactivez le tunnel principal.
|
EnablePrimaryTunnel(void)
|
void
Activez le tunnel principal.
|
GetAgentStateName(const AgentState state)
|
const char *
Obtenez le nom WeaveTunnelAgentState.
|
GetTimeMsec(void)
|
uint64_t
Obtenez l'heure du système en millisecondes.
|
GetWeaveTunnelAgentState(void)
|
Obtenez l'état de TunnelAgent.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
|
Initialisez l'agent Tunnel.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
|
Initialisez l'agent Tunnel.
|
IsPrimaryTunnelEnabled(void) const
|
bool
Vérifiez si le tunnel principal est activé.
|
IsPrimaryTunnelRoutingRestricted(void)
|
bool
Vérifiez si le tunnel principal est soumis à des restrictions de routage du service.
|
IsTunnelRoutingRestricted(void)
|
bool
Vérifiez si le tunnel est soumis à des restrictions de routage du service.
|
NetworkOnlineCheckResult(TunnelType tunType, bool isOnline)
|
void
Rappel invoqué par la plate-forme lorsque le résultat du vérificateur en ligne du réseau est disponible.
|
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
|
Réinitialisez le délai de reconnexion pour le tunnel principal.
|
SetAuthMode(const WeaveAuthMode authMode)
|
void
Définissez le WeaveAuthMode pour le tunnel.
|
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
|
void
Définissez l'ID du nœud, l'adresse IP et le port de destination pour le tunnel.
|
SetTunnelingDeviceRole(const Role role)
|
void
Définissez le rôle de l'appareil de tunnelisation(BorderGateway, StandaloneDevice, MobileDevice) pour le tunnel.
|
Shutdown(void)
|
Arrêtez l'agent de tunnel.
|
StartServiceTunnel(void)
|
Démarrez le tunnel de service.
|
StartServiceTunnel(uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
|
Démarrez le tunnel de service.
|
StopServiceTunnel(void)
|
void
Fermez la connexion tunnel au service.
|
StopServiceTunnel(WEAVE_ERROR err)
|
void
Fermez la connexion tunnel au service.
|
Fonctions statiques publiques |
|
---|---|
RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
|
void
Gestionnaire pour recevoir les paquets IPv6 acheminés par tunnel via le tunnel UDP de raccourci entre la passerelle frontière et l'appareil mobile, puis 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.
|
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
|
void
Gestionnaire pour recevoir les paquets IPv6 de l'interface du point de terminaison du tunnel et les transférer, soit au service via la connexion TCP du service après encapsuler le paquet IPv6 dans l'en-tête du tunnel, soit au client mobile via un tunnel de raccourci.
|
Types publics
AgentState
AgentState
États de l'agent de tunnel en lien avec sa ou ses connexions au service.
Propriétés | |
---|---|
kState_BkupOnlyTunModeEstablished
|
Utilisé pour indiquer que le tunnel de sauvegarde vers le service a été établi. |
kState_Initialized_NoTunnel
|
Utilisé pour indiquer que l'agent de tunnel est initialisé, mais qu'aucun tunnel n'a été établi. |
kState_NotInitialized
|
Utilisé pour indiquer que l'agent de tunnel n'est pas initialisé. |
kState_PrimaryAndBkupTunModeEstablished
|
Utilisé pour indiquer que les tunnels principal et de secours ont été établis. |
kState_PrimaryTunModeEstablished
|
Utilisé pour indiquer que le tunnel principal vers le service a été établi. |
AgentState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState
États de l'agent de tunnel en lien avec sa ou ses connexions au service.
OnServiceTunnelReconnectNotifyFunct
void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
Pointeur de fonction vers le gestionnaire défini par une couche supérieure lorsqu'une reconnexion de tunnel est reçue du service.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
OnServiceTunnelStatusNotifyFunct
void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
Pointeur de fonction vers un gestionnaire défini par une couche supérieure pour agir en fonction de différentes notifications liées au tunnel vers le service.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
PlatformNetworkOnlineCheck
void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
Pointeur de fonction vers un gestionnaire fourni par l'application pour effectuer une vérification en ligne au niveau du réseau.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
WeaveTunnelFlags
WeaveTunnelFlags
Bits indicateurs Weave Tunnel.
Propriétés | |
---|---|
kTunnelFlag_BackupEnabled
|
Défini lorsque le tunnel de secours est activé. |
kTunnelFlag_BackupRestricted
|
Définissez les cas où le routage du tunnel de secours est restreint. |
kTunnelFlag_PrimaryEnabled
|
Défini lorsque le tunnel principal est activé. |
kTunnelFlag_PrimaryRestricted
|
Définissez les cas où le routage du tunnel principal est restreint. |
WeaveTunnelFlags
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags
Bits indicateurs Weave Tunnel.
Attributs publics
NetworkOnlineCheck
PlatformNetworkOnlineCheck NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify
OnServiceTunStatusNotify
OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify
Pointeur de fonction vers un gestionnaire défini par une couche supérieure pour agir en fonction de différentes notifications liées au tunnel vers le service.
mServiceMgr
WeaveServiceManager * mServiceMgr
Pointeur du gestionnaire de service à utiliser pour rechercher le service et s'y connecter.
Fonctions publiques
DisablePrimaryTunnel
void DisablePrimaryTunnel( void )
Désactivez le tunnel principal.
Désactivez le tunnel principal.
EnablePrimaryTunnel
void EnablePrimaryTunnel( void )
Activez le tunnel principal.
Activez le tunnel principal.
GetAgentStateName
const char * GetAgentStateName( const AgentState state )
Obtenez le nom WeaveTunnelAgentState.
GetTimeMsec
uint64_t GetTimeMsec( void )
Obtenez l'heure du système en millisecondes.
Obtenez l'heure système ou l'heure monotone en millisecondes si l'heure système n'est pas disponible.
GetWeaveTunnelAgentState
AgentState GetWeaveTunnelAgentState( void )
Init
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext )
Initialisez l'agent Tunnel.
Cette commande crée l'objet du point de terminaison du tunnel, configure l'interface du tunnel, initialise les variables de membre, les rappels et WeaveTunnelControl.
Init
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext )
Initialisez l'agent Tunnel.
Cette commande crée l'objet du point de terminaison du tunnel, configure l'interface du tunnel, initialise les variables de membre, les rappels et WeaveTunnelControl.
IsPrimaryTunnelEnabled
bool IsPrimaryTunnelEnabled( void ) const
Vérifiez si le tunnel principal est activé.
Détails | |
---|---|
Renvoie |
"true" si elle est activée, sinon "false".
|
IsPrimaryTunnelRoutingRestricted
bool IsPrimaryTunnelRoutingRestricted( void )
Vérifiez si le tunnel principal est soumis à des restrictions de routage du service.
Vérifiez si le tunnel principal est soumis à des restrictions de routage.
Détails | |
---|---|
Renvoie |
Valeur true si le tunnel principal est établi, mais soumis aux restrictions de routage du service.
|
IsTunnelRoutingRestricted
bool IsTunnelRoutingRestricted( void )
Vérifiez si le tunnel est soumis à des restrictions de routage du service.
Vérifiez si le tunnel est soumis à des restrictions de routage.
Détails | |
---|---|
Renvoie |
est défini sur "true" si le tunnel principal ou de secours est établi, et qu'ils sont soumis à des restrictions de routage de la part du service.
|
NetworkOnlineCheckResult
void NetworkOnlineCheckResult( TunnelType tunType, bool isOnline )
Rappel invoqué par la plate-forme lorsque le résultat du vérificateur en ligne du réseau est disponible.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
ResetPrimaryReconnectBackoff
WEAVE_ERROR ResetPrimaryReconnectBackoff( bool reconnectImmediately )
Réinitialisez le délai de reconnexion pour le tunnel principal.
Détails | |||
---|---|---|---|
Paramètres |
|
SetAuthMode
void SetAuthMode( const WeaveAuthMode authMode )
Définissez le WeaveAuthMode pour le tunnel.
Détails | |||
---|---|---|---|
Paramètres |
|
SetDestination
void SetDestination( const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort )
Définissez l'ID du nœud, l'adresse IP et le port de destination pour le tunnel.
Définissez l'ID du nœud et l'adresse IP de destination pour le tunnel.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
SetTunnelingDeviceRole
void SetTunnelingDeviceRole( const Role role )
Définissez le rôle de l'appareil de tunnelisation(BorderGateway, StandaloneDevice, MobileDevice) pour le tunnel.
Définissez le rôle de l'appareil de tunnelisation(BorderGateway ou Autonome) pour le tunnel.
Détails | |||
---|---|---|---|
Paramètres |
|
Arrêt
WEAVE_ERROR Shutdown( void )
Arrêtez l'agent de tunnel.
Cette opération supprime la connexion au service et ferme l'interface TunEndPoint après avoir supprimé les adresses et les routes associées à l'interface du tunnel.
Cette opération supprime la connexion au service et ferme l'interface TunEndPoint après avoir supprimé les adresses et les routes associées à l'interface du tunnel.
Détails | |
---|---|
Renvoie |
WEAVE_NO_ERROR en cas de réussite, sinon un type WEAVE_ERROR correspondant.
|
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( void )
Démarrez le tunnel de service.
Cette opération active le tunnel et tente d'établir une connexion au service.
Cette commande tente d'établir une connexion au service et définit également l'itinéraire de la structure vers l'interface du tunnel.
Détails | |
---|---|
Renvoie |
WEAVE_NO_ERROR en cas de réussite, sinon un type WEAVE_ERROR correspondant.
|
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode )
Démarrez le tunnel de service.
Cette opération active le tunnel et tente d'établir une connexion au service.
StopServiceTunnel
void StopServiceTunnel( void )
Fermez la connexion tunnel au service.
StopServiceTunnel
void StopServiceTunnel( WEAVE_ERROR err )
Fermez la connexion de tunnel au service.
Détails | |||
---|---|---|---|
Paramètres |
|
WeaveTunnelAgent
WeaveTunnelAgent( void )
Fonctions statiques publiques
RecvdFromShortcutUDPTunnel
void RecvdFromShortcutUDPTunnel( WeaveMessageLayer *msgLayer, PacketBuffer *message )
Gestionnaire pour recevoir les paquets IPv6 acheminés par tunnel via le tunnel UDP de raccourci entre la passerelle frontière et l'appareil mobile, puis 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.
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 |
|
RecvdFromTunnelEndPoint
void RecvdFromTunnelEndPoint( TunEndPoint *tunEP, PacketBuffer *message )
Gestionnaire pour recevoir les paquets IPv6 de l'interface du point de terminaison du tunnel et les transférer, soit au service via la connexion TCP du service après encapsuler le paquet IPv6 dans l'en-tête du tunnel, soit au client mobile via un tunnel de raccourci.
Gestionnaire pour recevoir les paquets IPv6 de l'interface du point de terminaison du tunnel et les transférer, soit au service via la connexion TCP du service après encapsuler le paquet IPv6 dans l'en-tête du tunnel, soit au client mobile via un tunnel local.
Si la connexion au service n'est pas encore établie, le message est mis en file d'attente jusqu'à ce que la connexion soit configurée. Pour la tunnelisation vers l'appareil client mobile, la table voisine du prochain saut est référencée.
Si la connexion au service n'est pas encore établie, le message est mis en file d'attente jusqu'à ce que la connexion soit configurée. Pour la tunnelisation vers l'appareil client mobile, la table voisine du prochain saut est référencée.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|