nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelAgent
Riepilogo
Costruttori e distruttori |
|
---|---|
WeaveTunnelAgent(void)
|
Tipi pubblici |
|
---|---|
AgentState{
|
enum Stati dell'Agente Tunnel in relazione alle sue connessioni al Servizio. |
AgentState
|
typedef Stati dell'Agente Tunnel in relazione alle sue connessioni al Servizio. |
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
|
typedefvoid(*
Puntatore di funzione al gestore impostato da un livello superiore quando viene ricevuta una riconnessione Tunnel dal servizio. |
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 l'esecuzione di un controllo online a livello di rete. |
WeaveTunnelFlags{
|
enum Punte di segnalazione dei tunnel intrecciati. |
WeaveTunnelFlags
|
typedef Punte di segnalazione dei tunnel intrecciati. |
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 del gestore di servizi da utilizzare per cercare e connettersi al servizio.
|
Funzioni pubbliche |
|
---|---|
DisablePrimaryTunnel(void)
|
void
Disattiva il tunnel principale.
|
EnablePrimaryTunnel(void)
|
void
Attiva tunnel principale.
|
GetAgentStateName(const AgentState state)
|
const char *
Ottieni 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)
|
Inizializza l'agente Tunnel.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
|
Inizializza l'agente Tunnel.
|
IsPrimaryTunnelEnabled(void) const
|
bool
Controlla 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
Verifica 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 l'ora di riconnessione per il tunnel principale.
|
SetAuthMode(const WeaveAuthMode authMode)
|
void
Imposta il valore WeaveAuthMode per il tunnel.
|
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
|
void
Imposta l'ID nodeId, 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 del 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
Gestore per la ricezione di pacchetti IPv6 in tunnel tramite il tunnel UDP collegamento tra il gateway di confine e il dispositivo mobile e l'inoltro all'interfaccia Tunnel EndPoint dopo la decapsulamento del pacchetto IPv6 non elaborato dall'interno dell'intestazione del tunnel.
|
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
|
void
Gestore per la ricezione di pacchetti IPv6 dall'interfaccia Tunnel EndPoint e l'inoltro, 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 di collegamento.
|
Tipi pubblici
AgentState
AgentState
Stati dell'Agente Tunnel in relazione alle sue connessioni al Servizio.
Proprietà | |
---|---|
kState_BkupOnlyTunModeEstablished
|
Utilizzato per indicare che il tunnel di backup per il servizio è stato stabilito. |
kState_Initialized_NoTunnel
|
Utilizzato per indicare che l'agente tunnel è stato inizializzato, ma non è stato stabilito alcun tunnel. |
kState_NotInitialized
|
Utilizzato per indicare che l'agente tunnel non è stato inizializzato. |
kState_PrimaryAndBkupTunModeEstablished
|
Utilizzato per indicare che è stato stabilito il tunnel principale e il tunnel di backup. |
kState_PrimaryTunModeEstablished
|
Utilizzato per indicare che è stato stabilito il tunnel principale per il servizio. |
AgentState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState
Stati dell'Agente Tunnel in relazione alle sue connessioni al Servizio.
OnServiceTunnelReconnectNotifyFunct
void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
Puntatore di funzione al gestore impostato da un livello superiore quando viene ricevuta una riconnessione Tunnel dal servizio.
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 l'esecuzione di un controllo online a livello di rete.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
WeaveTunnelFlags
WeaveTunnelFlags
Punte di segnalazione dei tunnel intrecciati.
Proprietà | |
---|---|
kTunnelFlag_BackupEnabled
|
Imposta quando è abilitato il tunnel di backup. |
kTunnelFlag_BackupRestricted
|
Impostato quando il tunnel di backup è limitato. |
kTunnelFlag_PrimaryEnabled
|
Imposta quando è abilitato il tunnel principale. |
kTunnelFlag_PrimaryRestricted
|
Impostato quando il tunnel principale è limitato per il routing. |
WeaveTunnelFlags
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags
Punte di segnalazione dei tunnel intrecciati.
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 del gestore di servizi da utilizzare per cercare e connettersi al servizio.
Funzioni pubbliche
DisablePrimaryTunnel
void DisablePrimaryTunnel( void )
Disattiva il tunnel principale.
Disattiva il tunnel principale.
EnablePrimaryTunnel
void EnablePrimaryTunnel( void )
Attiva tunnel principale.
Attiva il tunnel principale.
GetAgentStateName
const char * GetAgentStateName( const AgentState state )
Ottieni il nome WeaveTunnelAgentState.
GetTimeMsec
uint64_t GetTimeMsec( void )
Ottieni il tempo di sistema in millisecondi.
Ottieni l'ora di sistema o il tempo monotonico in millisecondi se l'ora di sistema non è disponibile.
di Gemini Advanced.GetWeaveTunnelAgentState
AgentState GetWeaveTunnelAgentState( void )
Ottieni lo stato di TunnelAgent.
Dettagli | |
---|---|
Restituisce |
AgentState lo stato attuale di WeaveTunnelAgent.
|
Init
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext )
Inizializza l'agente Tunnel.
Questa operazione crea l'oggetto endpoint del tunnel, configura l'interfaccia del tunnel, inizializza le variabili dei membri, i callback e WeaveTunnelControl.
Init
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext )
Inizializza l'agente Tunnel.
Questa operazione crea l'oggetto endpoint del tunnel, configura l'interfaccia del tunnel, inizializza le variabili dei membri, i callback e WeaveTunnelControl.
IsPrimaryTunnelEnabled
bool IsPrimaryTunnelEnabled( void ) const
Controlla se il tunnel principale è abilitato.
Dettagli | |
---|---|
Restituisce |
true se abilitata, 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 viene impostato, ma è soggetto a restrizioni di routing da parte del servizio.
|
IsTunnelRoutingRestricted
bool IsTunnelRoutingRestricted( void )
Verifica 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 e se quest'ultimo è soggetto a restrizioni 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 l'ora di riconnessione per il tunnel principale.
Dettagli | |||
---|---|---|---|
Parametri |
|
SetAuthMode
void SetAuthMode( const WeaveAuthMode authMode )
Imposta il valore WeaveAuthMode per il tunnel.
Dettagli | |||
---|---|---|---|
Parametri |
|
SetDestination
void SetDestination( const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort )
Imposta l'ID nodeId, l'indirizzo IP e la porta di destinazione per il tunnel.
Imposta il nodeId e l'IPAddress 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 del dispositivo di tunneling(BorderGateway o Autonomo) per il tunnel.
Dettagli | |||
---|---|---|---|
Parametri |
|
Arresto
WEAVE_ERROR Shutdown( void )
Arresta l'agente del tunnel.
Questo interrompe la connessione al servizio e chiude l'interfaccia TunEndPoint dopo aver rimosso gli indirizzi e le route associati all'interfaccia del tunnel.
Questo interrompe la connessione al servizio e chiude l'interfaccia TunEndPoint dopo aver rimosso gli indirizzi e le route associati all'interfaccia del tunnel.
Dettagli | |
---|---|
Restituisce |
WEAVE_NO_ERROR in caso di esito positivo, altrimenti un tipo di WEAVE_ERROR corrispondente.
|
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( void )
Avvia il tunnel dei servizi.
Ciò abilita il tunnel e tenta di stabilire una connessione al servizio.
Questo tenta di stabilire una connessione al servizio e imposta anche la route del fabric per l'interfaccia del tunnel.
Dettagli | |
---|---|
Restituisce |
WEAVE_NO_ERROR in caso di esito positivo, altrimenti un tipo di WEAVE_ERROR corrispondente.
|
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode )
Avvia il tunnel dei servizi.
Ciò abilita 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 )
Gestore per la ricezione di pacchetti IPv6 in tunnel tramite il tunnel UDP collegamento tra il gateway di confine e il dispositivo mobile e l'inoltro all'interfaccia Tunnel EndPoint dopo la decapsulamento del pacchetto IPv6 non elaborato dall'interno dell'intestazione del tunnel.
Gestore per la ricezione dei pacchetti IPv6 in tunnel dalla connessione TCP del servizio e l'inoltro all'interfaccia Tunnel EndPoint dopo la decapsulamento del pacchetto IPv6 non elaborato dall'interno dell'intestazione del tunnel.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
RecvdFromTunnelEndPoint
void RecvdFromTunnelEndPoint( TunEndPoint *tunEP, PacketBuffer *message )
Gestore per la ricezione di pacchetti IPv6 dall'interfaccia Tunnel EndPoint e l'inoltro, 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 di collegamento.
Gestore per la ricezione di pacchetti IPv6 dall'interfaccia Tunnel EndPoint e l'inoltro, 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 stabilita, il messaggio viene messo in coda fino a quando la connessione non è configurata. Per il tunneling al dispositivo client mobile, viene fatto riferimento alla tabella dei vicini nexthop.
Se la connessione al servizio non è ancora stabilita, il messaggio viene messo in coda fino a quando la connessione non è configurata. Per il tunneling al dispositivo client mobile, viene fatto riferimento alla tabella dei vicini nexthop.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|