nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
Questa classe incapsula tutti gli stati di connessione del tunnel Weave, nonché la logica e le funzioni di gestione associate.
Riepilogo
Viene utilizzata un'istanza di questa classe per gestire il tunnel su ogni interfaccia attraverso la quale esiste il tunnel Weave per il servizio.
Costruttori e distruttori |
|
---|---|
WeaveTunnelConnectionMgr(void)
|
Tipi pubblici |
|
---|---|
ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
|
typedefvoid(*
Callback per recuperare l'intervallo di tempo di attesa prima della riconnessione del tunnel successivo. |
TunnelConnNotifyReasons{
|
enum |
TunnelConnNotifyReasons
|
typedef |
TunnelConnectionState{
|
enum |
TunnelConnectionState
|
typedef |
Attributi pubblici |
|
---|---|
mServiceConnDelayPolicyCallback
|
Funzioni pubbliche |
|
---|---|
Init(WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
|
Inizializza WeaveTunnelConnectionMgr.
|
ServiceTunnelClose(WEAVE_ERROR err)
|
void
Chiudi il tunnel del servizio.
|
SetInterfaceName(const char *intfName)
|
void
Imposta InterfaceName per la connessione Tunnel.
|
SetInterfaceType(const SrcInterfaceType srcIntfType)
|
void
Imposta SrcInterfaceType per la connessione Tunnel.
|
Shutdown(void)
|
void
Arresta WeaveTunnelConnectionMgr.
|
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
|
void
Interrompi la connessione al tunnel del servizio e riprova a riconnetterti.
|
TryConnectingNow(void)
|
Tentare di stabilire una connessione al servizio.
|
Funzioni statiche pubbliche |
|
---|---|
DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
|
void
L'implementazione del criterio predefinito da recuperare la prossima volta che si connette al servizio.
|
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Gestore richiamato quando viene chiusa la connessione TCP del servizio.
|
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Gestore richiamato quando viene completata la connessione TCP del servizio.
|
RecvdFromService(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
|
void
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.
|
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
|
void
Gestore richiamato se il gestore del servizio non è riuscito a stabilire la connessione TCP al servizio.
|
Tipi pubblici
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
Callback per recuperare l'intervallo di tempo di attesa prima della riconnessione del tunnel successivo.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
Proprietà | |
---|---|
kStatus_TunBackupConnError
|
Utilizzato per indicare che un tentativo di connessione del tunnel di backup non è riuscito o che uno esistente è stato interrotto o chiuso localmente dal peer. |
kStatus_TunBackupLiveness
|
Utilizzato per indicare le informazioni sul probe di attività del tunnel sul tunnel di backup Weave. |
kStatus_TunBackupOnlyDown
|
Utilizzato per indicare che il tunnel di backup non è attivo. |
kStatus_TunBackupReconnectRcvd
|
Utilizzato per indicare che il servizio ha richiesto una riconnessione per il tunnel Weave di backup. |
kStatus_TunBackupUp
|
Utilizzato per indicare che il tunnel Weave di backup è attivo. |
kStatus_TunDown
|
Utilizzato per indicare che il tunnel Weave è diminuito. |
kStatus_TunFailoverToBackup
|
Utilizzato per indicare che il tunnel principale non è attivo e che si è verificato il passaggio al tunnel di backup. |
kStatus_TunPrimaryAndBackupUp
|
Utilizzato per indicare che il tunnel Weave principale e quello di backup sono attivi. |
kStatus_TunPrimaryConnError
|
Utilizzato per indicare che un tentativo di connessione al tunnel principale non è riuscito o che uno esistente è stato interrotto o chiuso localmente dal peer. |
kStatus_TunPrimaryLiveness
|
Utilizzato per indicare le informazioni sul probe di attività del tunnel sul tunnel Weave primario. |
kStatus_TunPrimaryReconnectRcvd
|
Utilizzato per indicare che il servizio ha richiesto una riconnessione per il tunnel Weave principale. |
kStatus_TunPrimaryUp
|
Utilizzato per indicare che il tunnel Weave principale è aperto. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
Proprietà | |
---|---|
kState_Connecting
|
Utilizzato per indicare che la connessione Weave Tunnel è stata avviata. |
kState_ConnectionEstablished
|
Utilizzato per indicare che la connessione al Weave Tunnel viene stabilita e che le informazioni sul percorso vengono scambiate. |
kState_NotConnected
|
Utilizzato per indicare che il tunnel Weave non è connesso. |
kState_ReconnectRecvd
|
Utilizzato per indicare che il servizio vuole che il gateway di confine si riconnetta dopo una ricerca nella directory. |
kState_TunnelClosing
|
Utilizzato per indicare che il tunnel Weave è in fase di chiusura e la connessione viene interrotta. |
kState_TunnelOpen
|
Utilizzato per indicare che il tunnel Weave è aperto e pronto per il traffico di dati in transito. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
Attributi pubblici
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
Funzioni pubbliche
Inizia
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
Inizializza WeaveTunnelConnectionMgr.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
Chiudi il tunnel del servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Imposta InterfaceName per la connessione Tunnel.
Dettagli | |||
---|---|---|---|
Parametri |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Imposta SrcInterfaceType per la connessione Tunnel.
Dettagli | |||
---|---|---|---|
Parametri |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Interrompi la connessione al tunnel del servizio e riprova a riconnetterti.
Dettagli | |||
---|---|---|---|
Parametri |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
Tentare di stabilire una connessione al servizio.
Prova a stabilire una connessione al servizio utilizzando ServiceManager o direttamente.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
Funzioni statiche pubbliche
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
L'implementazione del criterio predefinito da recuperare la prossima volta che si connette al servizio.
Questo criterio sceglie una fascia oraria casuale (con risoluzione in millisecondi) su una finestra crescente, seguendo una sequenza di Fibonacci fino a WEAVE_CONFIG_tunnelING_RECONNECT_MAX_FIBONACCI_INDEX.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Gestore richiamato quando viene chiusa la connessione TCP del servizio.
Il dispositivo tenta di ristabilire la connessione al servizio se mServiceConKeepAlive è impostato su true.
Il dispositivo, successivamente, tenta di ristabilire la connessione al Servizio.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Gestore richiamato quando viene completata la connessione TCP del servizio.
Il dispositivo procede ad avviare i comandi di controllo Tunnel per il servizio da questa funzione.
Il dispositivo procede ad avviare i comandi di controllo Tunnel per il servizio da questa funzione.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
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 |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
Gestore richiamato se il gestore del servizio non è riuscito a stabilire la connessione TCP al servizio.