nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelAgent
Riepilogo
Costruttori e distruttori |
|
---|---|
WeaveTunnelAgent(void)
|
Tipi pubblici |
|
---|---|
AgentState{
|
enum Stati dell'Agente del tunnel in relazione ai suoi collegamenti al Servizio. |
AgentState
|
typedef Stati dell'Agente del tunnel in relazione ai suoi collegamenti al Servizio. |
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
|
typedefvoid(*
Puntatore della funzione al gestore impostato da un livello superiore quando il servizio riceve una riconnessione Tunnel. |
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
|
typedefvoid(*
Puntatore di funzione al gestore impostato da un livello superiore per agire su varie notifiche relative al tunnel al servizio. |
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
|
typedefvoid(*
Puntatore di funzione a un gestore fornito dall'applicazione per eseguire un controllo online a livello di rete. |
WeaveTunnelFlags{
|
enum Punte a bandiera Weave Tunnel. |
WeaveTunnelFlags
|
typedef Punte a bandiera Weave Tunnel. |
Attributi pubblici |
|
---|---|
NetworkOnlineCheck
|
|
OnServiceTunReconnectNotify
|
|
OnServiceTunStatusNotify
|
Puntatore di funzione al gestore impostato da un livello superiore per agire su varie notifiche relative al tunnel al servizio.
|
mServiceMgr
|
WeaveServiceManager *
Puntatore di Service Manager da utilizzare per cercare e connettersi al servizio.
|
Funzioni pubbliche |
|
---|---|
DisablePrimaryTunnel(void)
|
void
Disattiva tunnel principale.
|
EnablePrimaryTunnel(void)
|
void
Attiva tunnel principale.
|
GetAgentStateName(const AgentState state)
|
const char *
Prendi il nome WeaveTunnelAgentState.
|
GetTimeMsec(void)
|
uint64_t
Ottieni il tempo di sistema in millisecondi.
|
GetWeaveTunnelAgentState(void)
|
Ottieni lo stato di TunnelAgent.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
|
Inizializzare l'agente Tunnel.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
|
Inizializzare l'agente Tunnel.
|
IsPrimaryTunnelEnabled(void) const
|
bool
Verifica se il tunnel principale è abilitato.
|
IsPrimaryTunnelRoutingRestricted(void)
|
bool
Verifica se il tunnel principale è soggetto a limitazioni di routing da parte del servizio.
|
IsTunnelRoutingRestricted(void)
|
bool
Controlla se il tunnel è soggetto a limitazioni di routing da parte del servizio.
|
NetworkOnlineCheckResult(TunnelType tunType, bool isOnline)
|
void
Callback richiamato dalla piattaforma quando è disponibile il risultato del controllo online della rete.
|
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
|
Reimposta il tempo di riconnessione per il tunnel principale.
|
SetAuthMode(const WeaveAuthMode authMode)
|
void
Imposta WeaveAuthMode per il tunnel.
|
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
|
void
Imposta l'ID nodo, l'indirizzo IP e la porta di destinazione per il tunnel.
|
SetTunnelingDeviceRole(const Role role)
|
void
Imposta il ruolo del dispositivo di tunneling(BorderGateway, StandaloneDevice, MobileDevice) per il tunnel.
|
Shutdown(void)
|
Arresta l'agente Tunnel.
|
StartServiceTunnel(void)
|
Avvia il tunnel dei servizi.
|
StartServiceTunnel(uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
|
Avvia il tunnel dei servizi.
|
StopServiceTunnel(void)
|
void
Chiudi la connessione tunnel al servizio.
|
StopServiceTunnel(WEAVE_ERROR err)
|
void
Chiudi la connessione tunnel al servizio.
|
Funzioni statiche pubbliche |
|
---|---|
RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
|
void
Il gestore riceve i pacchetti IPv6 con tunnel sul tunnel UDP di collegamento tra il gateway di confine e il dispositivo mobile e inoltra all'interfaccia Tunnel EndPoint dopo aver decapsulato il pacchetto IPv6 non elaborato dall'intestazione del tunnel.
|
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
|
void
Gestore per ricevere i pacchetti IPv6 dall'interfaccia Tunnel EndPoint e inoltrarli al servizio tramite la connessione TCP del servizio dopo l'incapsulamento del pacchetto IPv6 all'interno dell'intestazione del tunnel o al client mobile tramite un tunnel di collegamento.
|
Tipi pubblici
AgentState
AgentState
Stati dell'Agente del tunnel in relazione ai suoi collegamenti al Servizio.
Proprietà | |
---|---|
kState_BkupOnlyTunModeEstablished
|
Utilizzato per indicare che il tunnel di backup al servizio è stato creato. |
kState_Initialized_NoTunnel
|
Utilizzato per indicare che l'agente Tunnel è stato inizializzato, ma non è stato creato alcun tunnel. |
kState_NotInitialized
|
Utilizzato per indicare che l'agente Tunnel non è inizializzato. |
kState_PrimaryAndBkupTunModeEstablished
|
Utilizzato per indicare che sono stati creati sia il tunnel principale sia il tunnel di backup. |
kState_PrimaryTunModeEstablished
|
Utilizzato per indicare che è stato creato il tunnel principale al servizio. |
AgentState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState
Stati dell'Agente del tunnel in relazione ai suoi collegamenti al Servizio.
OnServiceTunnelReconnectNotifyFunct
void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
Puntatore della funzione al gestore impostato da un livello superiore quando il servizio riceve una riconnessione Tunnel.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
OnServiceTunnelStatusNotifyFunct
void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
Puntatore di funzione al gestore impostato da un livello superiore per agire su varie notifiche relative al tunnel al servizio.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
PlatformNetworkOnlineCheck
void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
Puntatore di funzione a un gestore fornito dall'applicazione per eseguire un controllo online a livello di rete.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
WeaveTunnelFlags
WeaveTunnelFlags
Punte a bandiera Weave Tunnel.
Proprietà | |
---|---|
kTunnelFlag_BackupEnabled
|
Da impostare quando il tunnel di backup è abilitato. |
kTunnelFlag_BackupRestricted
|
Impostato quando il routing del tunnel di backup è limitato. |
kTunnelFlag_PrimaryEnabled
|
Da impostare quando è abilitato il tunnel principale. |
kTunnelFlag_PrimaryRestricted
|
Impostato quando il routing del tunnel principale è limitato. |
WeaveTunnelFlags
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags
Punte a bandiera Weave Tunnel.
Attributi pubblici
NetworkOnlineCheck
PlatformNetworkOnlineCheck NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify
OnServiceTunStatusNotify
OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify
Puntatore di funzione al gestore impostato da un livello superiore per agire su varie notifiche relative al tunnel al servizio.
mServiceMgr
WeaveServiceManager * mServiceMgr
Puntatore di Service Manager da utilizzare per cercare e connettersi al servizio.
Funzioni pubbliche
DisablePrimaryTunnel
void DisablePrimaryTunnel( void )
Disattiva tunnel principale.
Disattivare il tunnel principale.
EnablePrimaryTunnel
void EnablePrimaryTunnel( void )
Attiva tunnel principale.
Attiva il tunnel principale.
GetAgentStateName
const char * GetAgentStateName( const AgentState state )
Prendi il nome WeaveTunnelAgentState.
GetTimeMsec
uint64_t GetTimeMsec( void )
Ottieni il tempo di sistema in millisecondi.
Ottieni tempo di sistema o tempo monotonico in millisecondi se il tempo di sistema non è disponibile.
GetWeaveTunnelAgentState
AgentState GetWeaveTunnelAgentState( void )
Ottieni lo stato di TunnelAgent.
Dettagli | |
---|---|
Restituisce |
AgentState lo stato attuale di WeaveTunnelAgent.
|
Inizia
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext )
Inizializzare l'agente Tunnel.
Questa operazione crea l'oggetto endpoint Tunnel, configura l'interfaccia del tunnel, inizializza le variabili membro, i callback e WeaveTunnelControl.
Inizia
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext )
Inizializzare l'agente Tunnel.
Questa operazione crea l'oggetto endpoint Tunnel, configura l'interfaccia del tunnel, inizializza le variabili membro, i callback e WeaveTunnelControl.
IsPrimaryTunnelEnabled
bool IsPrimaryTunnelEnabled( void ) const
Verifica se il tunnel principale è abilitato.
Dettagli | |
---|---|
Restituisce |
true se è attivo, altrimenti false.
|
IsPrimaryTunnelRoutingRestricted
bool IsPrimaryTunnelRoutingRestricted( void )
Verifica se il tunnel principale è soggetto a limitazioni di routing da parte del servizio.
Controlla se il tunnel principale è soggetto a limitazioni di routing.
Dettagli | |
---|---|
Restituisce |
true se il tunnel principale è stabilito, ma è soggetto a limitazioni di routing da parte del servizio.
|
IsTunnelRoutingRestricted
bool IsTunnelRoutingRestricted( void )
Controlla se il tunnel è soggetto a limitazioni di routing da parte del servizio.
Controlla se il tunnel è soggetto a limitazioni di routing.
Dettagli | |
---|---|
Restituisce |
true se viene stabilito il tunnel principale o di backup. Inoltre, sono soggetti a limitazioni di routing da parte del servizio.
|
NetworkOnlineCheckResult
void NetworkOnlineCheckResult( TunnelType tunType, bool isOnline )
Callback richiamato dalla piattaforma quando è disponibile il risultato del controllo online della rete.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
ResetPrimaryReconnectBackoff
WEAVE_ERROR ResetPrimaryReconnectBackoff( bool reconnectImmediately )
Reimposta il tempo di riconnessione per il tunnel principale.
Dettagli | |||
---|---|---|---|
Parametri |
|
SetAuthMode
void SetAuthMode( const WeaveAuthMode authMode )
Imposta WeaveAuthMode per il tunnel.
Dettagli | |||
---|---|---|---|
Parametri |
|
SetDestination
void SetDestination( const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort )
Imposta l'ID nodo, l'indirizzo IP e la porta di destinazione per il tunnel.
Imposta l'ID nodo e l'indirizzo IP di destinazione per il tunnel.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
SetTunnelingDeviceRole
void SetTunnelingDeviceRole( const Role role )
Imposta il ruolo del dispositivo di tunneling(BorderGateway, StandaloneDevice, MobileDevice) per il tunnel.
Imposta il ruolo Dispositivo di tunneling(BorderGateway o Standalone) per il tunnel.
Dettagli | |||
---|---|---|---|
Parametri |
|
Arresto
WEAVE_ERROR Shutdown( void )
Arresta l'agente Tunnel.
Questa operazione compromette la connessione al servizio e chiude l'interfaccia TunEndPoint dopo la rimozione di indirizzi e route associati all'interfaccia del tunnel.
Questa operazione compromette la connessione al servizio e chiude l'interfaccia TunEndPoint dopo la rimozione di indirizzi e route associati all'interfaccia del tunnel.
Dettagli | |
---|---|
Restituisce |
WEAVE_NO_ERROR in caso di esito positivo, altrimenti un tipo WEAVE_ERROR corrispondente.
|
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( void )
Avvia il tunnel dei servizi.
Ciò consente il tunnel e tenta di stabilire una connessione al servizio.
L'operazione tenta di stabilire una connessione al servizio e imposta anche la route fabric per l'interfaccia del tunnel.
Dettagli | |
---|---|
Restituisce |
WEAVE_NO_ERROR in caso di esito positivo, altrimenti un tipo WEAVE_ERROR corrispondente.
|
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode )
Avvia il tunnel dei servizi.
Ciò consente il tunnel e tenta di stabilire una connessione al servizio.
StopServiceTunnel
void StopServiceTunnel( void )
Chiudi la connessione tunnel al servizio.
StopServiceTunnel
void StopServiceTunnel( WEAVE_ERROR err )
Chiudi la connessione tunnel al servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
WeaveTunnelAgent
WeaveTunnelAgent( void )
Funzioni statiche pubbliche
RecvdFromShortcutUDPTunnel
void RecvdFromShortcutUDPTunnel( WeaveMessageLayer *msgLayer, PacketBuffer *message )
Il gestore riceve i pacchetti IPv6 con tunnel sul tunnel UDP di collegamento tra il gateway di confine e il dispositivo mobile e inoltra all'interfaccia Tunnel EndPoint dopo aver decapsulato il pacchetto IPv6 non elaborato dall'intestazione del tunnel.
Gestore per ricevere i pacchetti IPv6 con tunnel dalla connessione TCP di servizio e inoltrarli all'interfaccia Tunnel EndPoint dopo aver decapsulato il pacchetto IPv6 non elaborato dall'intestazione del tunnel.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
RecvdFromTunnelEndPoint
void RecvdFromTunnelEndPoint( TunEndPoint *tunEP, PacketBuffer *message )
Gestore per ricevere i pacchetti IPv6 dall'interfaccia Tunnel EndPoint e inoltrarli al servizio tramite la connessione TCP del servizio dopo l'incapsulamento del pacchetto IPv6 all'interno dell'intestazione del tunnel o al client mobile tramite un tunnel di collegamento.
Gestore per ricevere i pacchetti IPv6 dall'interfaccia Tunnel EndPoint e inoltrarli al servizio tramite la connessione TCP del servizio dopo l'incapsulamento del pacchetto IPv6 all'interno dell'intestazione del tunnel o al client mobile su un tunnel locale.
Se la connessione al servizio non è ancora attiva, il messaggio rimane in coda fino a quando la connessione non viene configurata. Per il tunneling al dispositivo client mobile, viene fatto riferimento alla tabella dei vicini di Nexthop.
Se la connessione al servizio non è ancora attiva, il messaggio rimane in coda fino a quando la connessione non viene configurata. Per il tunneling al dispositivo client mobile, viene fatto riferimento alla tabella dei vicini di Nexthop.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|