nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelAgent
Résumé
Constructeurs et destructeurs |
|
---|---|
WeaveTunnelAgent(void)
|
Types publics |
|
---|---|
AgentState{
|
enum États de l'Agent de tunnel par rapport à sa ou ses connexions au Service. |
AgentState
|
typedef États de l'Agent de tunnel par rapport à sa ou ses connexions au Service. |
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
|
typedefvoid(*
Pointeur de fonction vers un 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 traiter diverses 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{
|
enum Bits d'indicateur de tunnel Weave. |
WeaveTunnelFlags
|
typedef Bits d'indicateur de tunnel Weave. |
Attributs publics |
|
---|---|
NetworkOnlineCheck
|
|
OnServiceTunReconnectNotify
|
|
OnServiceTunStatusNotify
|
Pointeur de fonction vers un gestionnaire défini par une couche supérieure pour traiter diverses notifications liées au tunnel vers le service.
|
mServiceMgr
|
WeaveServiceManager *
Pointeur du gestionnaire de service à utiliser pour rechercher le service et s'y connecter.
|
Fonctions publiques |
|
---|---|
DisablePrimaryTunnel(void)
|
void
Désactivez le tunnel principal.
|
EnablePrimaryTunnel(void)
|
void
Activer le tunnel principal.
|
GetAgentStateName(const AgentState state)
|
const char *
Permet d'obtenir le nom WeaveTunnelAgentState.
|
GetTimeMsec(void)
|
uint64_t
Obtenez l'heure système en millisecondes.
|
GetWeaveTunnelAgentState(void)
|
Obtenez l'état de l'agent TunnelAgent.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
|
Initialisez l'agent de tunnel.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
|
Initialisez l'agent de 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 l'heure de reconnexion du tunnel principal.
|
SetAuthMode(const WeaveAuthMode authMode)
|
void
Définissez le mode WeaveAuthMode du tunnel.
|
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
|
void
Définissez l'ID du nœud de destination, l'adresse IP et le port du tunnel.
|
SetTunnelingDeviceRole(const Role role)
|
void
Définissez le rôle "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 du tunnel au service.
|
StopServiceTunnel(WEAVE_ERROR err)
|
void
Fermez la connexion du 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 de bordure et l'appareil mobile, puis les transférer vers l'interface Tunnel EndPoint après avoir décapsulé le paquet IPv6 brut depuis l'en-tête du tunnel.
|
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
|
void
Gestionnaire pour recevoir les paquets IPv6 de l'interface Tunnel EndPoint 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 par rapport à 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 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
|
Permet d'indiquer que le tunnel principal et le tunnel 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 par rapport à sa ou ses connexions au Service.
OnServiceTunnelReconnectNotifyFunct
void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
Pointeur de fonction vers un 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 traiter diverses 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 d'indicateur de tunnel Weave.
Propriétés | |
---|---|
kTunnelFlag_BackupEnabled
|
Défini lorsque le tunnel de secours est activé. |
kTunnelFlag_BackupRestricted
|
Définissez ce paramètre lorsque le routage du tunnel de secours est limité. |
kTunnelFlag_PrimaryEnabled
|
Défini lorsque le tunnel principal est activé. |
kTunnelFlag_PrimaryRestricted
|
Défini lorsque le tunnel principal présente une restriction de routage. |
WeaveTunnelFlags
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags
Bits d'indicateur de tunnel Weave.
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 traiter diverses 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 )
Activer le tunnel principal.
Activez le tunnel principal.
GetAgentStateName
const char * GetAgentStateName( const AgentState state )
Permet d'obtenir le nom WeaveTunnelAgentState.
GetTimeMsec
uint64_t GetTimeMsec( void )
Obtenez l'heure 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 )
Obtenez l'état de l'agent TunnelAgent.
Détails | |
---|---|
Renvoie |
AgentState est l'état actuel de WeaveTunnelAgent.
|
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 de tunnel.
Cette opération crée l'objet "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 de tunnel.
Cette opération crée l'objet "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 |
"true" si le tunnel principal est établi, mais qu'il est 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 |
"true" si le tunnel principal ou de secours est établi, et que l'un ou l'autre sont soumis à des restrictions de routage 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 l'heure de reconnexion du tunnel principal.
Détails | |||
---|---|---|---|
Paramètres |
|
SetAuthMode
void SetAuthMode( const WeaveAuthMode authMode )
Définissez le mode WeaveAuthMode du 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 de destination, l'adresse IP et le port du tunnel.
Définissez l'ID de nœud de destination et l'adresse IP du tunnel.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
SetTunnelingDeviceRole
void SetTunnelingDeviceRole( const Role role )
Définissez le rôle "Appareil de tunnelisation" (BorderGateway, StandaloneDevice, MobileDevice) pour le tunnel.
Définissez le rôle "Appareil de tunnelisation" ("BorderGateway" ou "Autonome") du tunnel.
Détails | |||
---|---|---|---|
Paramètres |
|
Arrêt
WEAVE_ERROR Shutdown( void )
Arrêtez l'agent de tunnel.
Cette action interrompt la connexion au service et ferme l'interface TunEndPoint après la suppression des adresses et des routes associées à l'interface du tunnel.
Cette action interrompt la connexion au service et ferme l'interface TunEndPoint après la suppression des adresses et des 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.
Cela permet d'activer le tunnel et de tenter d'établir une connexion au service.
Cette opération tente d'établir une connexion au service et définit également la route 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.
Cela permet d'activer le tunnel et de tenter d'établir une connexion au service.
StopServiceTunnel
void StopServiceTunnel( void )
Fermez la connexion du tunnel au service.
StopServiceTunnel
void StopServiceTunnel( WEAVE_ERROR err )
Fermez la connexion du 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 de bordure et l'appareil mobile, puis les transférer vers l'interface Tunnel EndPoint après avoir décapsulé le paquet IPv6 brut depuis l'en-tête du tunnel.
Gestionnaire pour recevoir les paquets IPv6 acheminés par tunnel à partir de la connexion TCP du service et les transférer vers l'interface Tunnel EndPoint après avoir désencapsulé le paquet IPv6 brut depuis 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 Tunnel EndPoint 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 Tunnel EndPoint 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 saut suivant 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 saut suivant est référencée.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|