nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
Questa classe incapsula tutti gli stati delle connessioni del tunnel Weave e la logica e le funzioni di gestione associate.
Riepilogo
Un'istanza di questa classe verrebbe utilizzata per gestire il tunnel su ogni interfaccia attraverso la quale verrebbe creato 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 che il tunnel successivo si connetta. |
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 di servizio.
|
SetInterfaceName(const char *intfName)
|
void
Imposta InterfaceName per la connessione tunnel.
|
SetInterfaceType(const SrcInterfaceType srcIntfType)
|
void
Imposta SrcInterfaceType per la connessione al tunnel.
|
Shutdown(void)
|
void
Arresta WeaveTunnelConnectionMgr.
|
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
|
void
Interrompi la connessione al tunnel del servizio e prova di nuovo a riconnetterti.
|
TryConnectingNow(void)
|
Tentativo di stabilire una connessione al servizio.
|
Funzioni statiche pubbliche |
|
---|---|
DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
|
void
L'implementazione predefinita dei criteri per il recupero della prossima connessione al servizio.
|
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Gestore richiamato quando la connessione TCP del servizio viene chiusa.
|
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 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.
|
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 che il tunnel successivo si connetta.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
Proprietà | |
---|---|
kStatus_TunBackupConnError
|
Utilizzato per indicare che un tentativo di connessione al tunnel di backup non è riuscito o che un tentativo di connessione esistente è stato interrotto o chiuso localmente dal peer. |
kStatus_TunBackupLiveness
|
Utilizzato per indicare informazioni sul probe di attività del tunnel nel tunnel Weave di backup. |
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 è caduto. |
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 un tentativo di connessione esistente è stato interrotto localmente o chiuso dal peer. |
kStatus_TunPrimaryLiveness
|
Utilizzato per indicare informazioni sul probe di attività del tunnel nel tunnel Weave principale. |
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 principale di Weave è attivo. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
Proprietà | |
---|---|
kState_Connecting
|
Utilizzato per indicare che la connessione al tunnel Weave è stata avviata. |
kState_ConnectionEstablished
|
Utilizzato per indicare che è stata stabilita la connessione con il tunnel Weave e che viene scambiato le informazioni sul percorso. |
kState_NotConnected
|
Utilizzato per indicare che il tunnel Weave non è collegato. |
kState_ReconnectRecvd
|
Utilizzato per indicare che il servizio vuole che il gateway di confine si riconnetti dopo una ricerca nella directory. |
kState_TunnelClosing
|
Utilizzato per indicare che il tunnel Weave si chiude e la connessione è in fase di interruzione. |
kState_TunnelOpen
|
Utilizzato per indicare che il tunnel Weave è aperto e pronto per il transito del traffico di dati. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
Attributi pubblici
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
Funzioni pubbliche
Init
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
Inizializza WeaveTunnelConnectionMgr.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
Chiudi il tunnel di servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Imposta InterfaceName per la connessione al tunnel.
Dettagli | |||
---|---|---|---|
Parametri |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Imposta SrcInterfaceType per la connessione al tunnel.
Dettagli | |||
---|---|---|---|
Parametri |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Interrompi la connessione al tunnel del servizio e prova di nuovo a riconnetterti.
Dettagli | |||
---|---|---|---|
Parametri |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
Tentativo 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 predefinita dei criteri per il recupero della prossima connessione al servizio.
Questo criterio sceglie una fascia oraria casuale (con risoluzione in millisecondi) in 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 la connessione TCP del servizio viene chiusa.
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 avvia i comandi di controllo del tunnel al servizio da questa funzione.
Il dispositivo avvia i comandi di controllo del tunnel al servizio da questa funzione.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
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 |
|
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.