Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl:: Weben:: Profile:: Webtunnel:: WeaveTunnelConnectionMgr

#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>

Diese Klasse kapselt alle Verbindungszustände des Weave-Tunnels und die zugehörige Verwaltungslogik und -funktionen.

Zusammenfassung

Eine Instanz dieser Klasse würde verwendet, um den Tunnel über jede Schnittstelle zu verwalten, durch die der Weave-Tunnel zum Dienst existieren würde.

Konstruktoren und Destruktoren

WeaveTunnelConnectionMgr (void)

Öffentliche Typen

ConnectPolicyCallback )(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) Typdef
void(*
Callback, um das Zeitintervall abzurufen, das gewartet wird, bevor der nächste Tunnel wieder verbunden wird.
TunnelConnNotifyReasons {
kStatus_TunDown = 0,
kStatus_TunPrimaryUp = 1,
kStatus_TunPrimaryConnError = 2,
kStatus_TunBackupConnError = 3,
kStatus_TunFailoverToBackup = 4,
kStatus_TunBackupOnlyDown = 5,
kStatus_TunBackupUp = 6,
kStatus_TunPrimaryAndBackupUp = 7,
kStatus_TunPrimaryReconnectRcvd = 8,
kStatus_TunBackupReconnectRcvd = 9,
kStatus_TunPrimaryLiveness = 10,
kStatus_TunBackupLiveness = 11
}
aufzählen
TunnelConnNotifyReasons Typdef
TunnelConnectionState {
kState_NotConnected = 0,
kState_Connecting = 1,
kState_ConnectionEstablished = 2,
kState_TunnelOpen = 3,
kState_TunnelClosing = 4,
kState_ReconnectRecvd = 5
}
aufzählen
TunnelConnectionState Typdef

Öffentliche Attribute

mServiceConnDelayPolicyCallback

Öffentliche Funktionen

Init ( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
Initialisieren Sie die WeaveTunnelConnectionMgr .
ServiceTunnelClose ( WEAVE_ERROR err)
void
Schließen Sie den Diensttunnel.
SetInterfaceName (const char *intfName)
void
Legen Sie InterfaceName für die Tunnelverbindung fest.
SetInterfaceType (const SrcInterfaceType srcIntfType)
void
Legen Sie SrcInterfaceType für die Tunnelverbindung fest.
Shutdown (void)
void
Shutdown der WeaveTunnelConnectionMgr .
StopAndReconnectTunnelConn ( ReconnectParam & reconnParam)
void
Beenden Sie die Diensttunnelverbindung und versuchen Sie erneut, eine Verbindung herzustellen.
TryConnectingNow (void)
Versuchen Sie, eine Verbindung zum Dienst herzustellen.

Öffentliche statische Funktionen

DefaultReconnectPolicyCallback (void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
void
Die Standardrichtlinienimplementierung zum Abrufen beim nächsten Herstellen einer Verbindung mit dem Dienst.
HandleServiceConnectionClosed ( WeaveConnection *con, WEAVE_ERROR conErr)
void
Handler wird aufgerufen, wenn die Service-TCP-Verbindung geschlossen wird.
HandleServiceConnectionComplete ( WeaveConnection *con, WEAVE_ERROR conErr)
void
Der Handler wird aufgerufen, wenn die Service-TCP-Verbindung abgeschlossen ist.
RecvdFromService ( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
void
Handler zum Empfangen von getunnelten IPv6-Paketen von der Dienst-TCP-Verbindung und Weiterleitung an die Tunnel EndPoint-Schnittstelle, nachdem das rohe IPv6-Paket aus dem Tunnelheader entkapselt wurde.
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report)
void
Der Handler wird aufgerufen, wenn der Service Manager die TCP-Verbindung zum Service nicht herstellen konnte.

Öffentliche Typen

ConnectPolicyCallback

void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)

Callback, um das Zeitintervall abzurufen, das gewartet wird, bevor der nächste Tunnel wieder verbunden wird.

Einzelheiten
Parameter
[in] appState
App-Statuszeiger während der Initialisierung des SubscriptionClient gesetzt.
[in] reconnectParam
Struktur mit Parametern, die die Berechnung der Wiedereinschaltverzögerung beeinflussen.
[out] delayMsec
Wartezeit in Millisekunden bis zum nächsten erneuten Verbindungsversuch.

TunnelConnNotifyGründe

 TunnelConnNotifyReasons
Eigenschaften
kStatus_TunBackupConnError

Wird verwendet, um anzuzeigen, dass ein Verbindungsversuch mit einem Backup-Tunnel fehlgeschlagen ist oder ein bestehender Versuch lokal abgebrochen oder von einem Peer geschlossen wurde.

kStatus_TunBackupLiveness

Wird verwendet, um Informationen über die Tunnel Liveness-Sonde im Backup-Weave-Tunnel anzuzeigen.

kStatus_TunBackupOnlyDown

Wird verwendet, um anzuzeigen, dass der Backup-Tunnel inaktiv ist.

kStatus_TunBackupReconnectRcvd

Wird verwendet, um anzuzeigen, dass der Dienst eine erneute Verbindung für den Backup Weave-Tunnel angefordert hat.

kStatus_TunBackupUp

Wird verwendet, um anzuzeigen, dass der Backup Weave-Tunnel aktiv ist.

kStatus_TunDown

Wird verwendet, um anzuzeigen, dass der Weave-Tunnel untergegangen ist.

kStatus_TunFailoverToBackup

Wird verwendet, um anzuzeigen, dass der primäre Tunnel ausgefallen ist und auf den Backup-Tunnel umgeschaltet wurde.

kStatus_TunPrimaryAndBackupUp

Wird verwendet, um anzuzeigen, dass sowohl der primäre als auch der Backup-Weave-Tunnel aktiv sind.

kStatus_TunPrimaryConnError

Wird verwendet, um anzuzeigen, dass ein Versuch einer primären Tunnelverbindung fehlgeschlagen ist oder ein bestehender Versuch lokal abgebrochen oder vom Peer geschlossen wurde.

kStatus_TunPrimaryLiveness

Wird verwendet, um Informationen über die Tunnel-Lebendigkeits-Sonde im Primärgewebe-Tunnel anzuzeigen.

kStatus_TunPrimaryReconnectRcvd

Wird verwendet, um anzuzeigen, dass der Dienst eine erneute Verbindung für den Primary Weave-Tunnel angefordert hat.

kStatus_TunPrimaryUp

Wird verwendet, um anzuzeigen, dass der primäre Weave-Tunnel aktiv ist.

TunnelConnNotifyGründe

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons

TunnelConnectionState

 TunnelConnectionState
Eigenschaften
kState_Connecting

Wird verwendet, um anzuzeigen, dass die Weave Tunnel-Verbindung initiiert wurde.

kState_ConnectionEstablished

Wird verwendet, um anzuzeigen, dass die Weave Tunnel-Verbindung hergestellt ist und Routeninformationen ausgetauscht werden.

kState_NotConnected

Wird verwendet, um anzuzeigen, dass der Weave-Tunnel nicht verbunden ist.

kState_ReconnectRecvd

Wird verwendet, um anzugeben, dass der Dienst möchte, dass sich das Border-Gateway nach einer Verzeichnissuche wieder verbindet.

kState_TunnelClosing

Wird verwendet, um anzuzeigen, dass der Weave-Tunnel geschlossen wird und die Verbindung abgebaut wird.

kState_TunnelOpen

Wird verwendet, um anzuzeigen, dass der Weave-Tunnel geöffnet und für den Datenverkehr bereit ist.

TunnelConnectionState

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState

Öffentliche Attribute

mServiceConnDelayPolicyCallback

ConnectPolicyCallback mServiceConnDelayPolicyCallback

Öffentliche Funktionen

Drin

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelType tunType,
  SrcInterfaceType srcIntfType,
  const char *connIntfName
)

Initialisieren Sie die WeaveTunnelConnectionMgr .

ServiceTunnelSchließen

void ServiceTunnelClose(
  WEAVE_ERROR err
)

Schließen Sie den Diensttunnel.

Einzelheiten
Parameter
[in] err
Ein WEAVE_ERROR wurde vom Aufrufer übergeben.

SetInterfaceName

void SetInterfaceName(
  const char *intfName
)

Legen Sie InterfaceName für die Tunnelverbindung fest.

Einzelheiten
Parameter
[in] tunIntf
Der InterfaceName zum Festlegen der Diensttunnelverbindung.

SetInterfaceType

void SetInterfaceType(
  const SrcInterfaceType srcIntfType
)

Legen Sie SrcInterfaceType für die Tunnelverbindung fest.

Einzelheiten
Parameter
[in] srcIntfType
Der Netzwerktechnologietyp der Schnittstelle für die Diensttunnelverbindung.

Schließen

void Shutdown(
  void
)

Shutdown der WeaveTunnelConnectionMgr .

StopAndReconnectTunnelConn

void StopAndReconnectTunnelConn(
  ReconnectParam & reconnParam
)

Beenden Sie die Diensttunnelverbindung und versuchen Sie erneut, eine Verbindung herzustellen.

Einzelheiten
Parameter
[in] err
Ein WEAVE_ERROR wurde vom Aufrufer übergeben.

Versuchen Sie jetzt eine Verbindung herzustellen

WEAVE_ERROR TryConnectingNow(
  void
)

Versuchen Sie, eine Verbindung zum Dienst herzustellen.

Versuchen Sie, entweder über den ServiceManager oder direkt eine Verbindung zum Dienst herzustellen.

WeaveTunnelConnectionMgr

 WeaveTunnelConnectionMgr(
  void
)

Öffentliche statische Funktionen

DefaultReconnectPolicyCallback

void DefaultReconnectPolicyCallback(
  void *const appstate,
  ReconnectParam & reconnectParam,
  uint32_t & delayMsec
)

Die Standardrichtlinienimplementierung zum Abrufen beim nächsten Herstellen einer Verbindung mit dem Dienst.

Diese Richtlinie wählt einen zufälligen Zeitschlitz (mit einer Auflösung von Millisekunden) über ein zunehmendes Fenster, gefolgt von einer Fibonacci-Sequenz bis zu WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.

Einzelheiten
Parameter
[in] appState
App-Statuszeiger während der Initialisierung des SubscriptionClient gesetzt.
[in] reconnectParam
Struktur mit Parametern, die die Berechnung der Wiedereinschaltverzögerung beeinflussen.
[out] delayMsec
Wartezeit in Millisekunden bis zum nächsten erneuten Verbindungsversuch.

HandleServiceConnectionClosed

void HandleServiceConnectionClosed(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

Der Handler wird aufgerufen, wenn die Service-TCP-Verbindung geschlossen wird.

Das Gerät versucht, die Verbindung zum Dienst wiederherzustellen, wenn mServiceConKeepAlive auf true gesetzt ist.

Anschließend versucht das Gerät, die Verbindung zum Dienst wiederherzustellen.

Einzelheiten
Parameter
[in] con
Ein Zeiger auf das WeaveConnection Objekt.
[in] conErr
Jeder Fehler in der WeaveConnection oder WEAVE_NO_ERROR.

HandleServiceConnectionComplete

void HandleServiceConnectionComplete(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

Der Handler wird aufgerufen, wenn die Service-TCP-Verbindung abgeschlossen ist.

Das Gerät leitet von dieser Funktion aus Tunnelsteuerbefehle an den Dienst ein.

Das Gerät leitet von dieser Funktion aus Tunnelsteuerbefehle an den Dienst ein.

Einzelheiten
Parameter
[in] con
Ein Zeiger auf das WeaveConnection Objekt.
[in] conErr
Jeder Fehler in der WeaveConnection oder WEAVE_NO_ERROR.

RecvdFromService

void RecvdFromService(
  WeaveConnection *con,
  const WeaveMessageInfo *msgInfo,
  PacketBuffer *message
)

Handler zum Empfangen von getunnelten IPv6-Paketen von der Dienst-TCP-Verbindung und Weiterleitung an die Tunnel EndPoint-Schnittstelle, nachdem das rohe IPv6-Paket aus dem Tunnelheader entkapselt wurde.

Einzelheiten
Parameter
[in] con
Ein Zeiger auf das WeaveConnection Objekt.
[in] msgInfo
Ein Zeiger auf das WeaveMessageInfo Objekt.
[in] message
Ein Zeiger auf das PacketBuffer-Objekt, das das getunnelte IPv6-Paket enthält.

ServiceMgrStatusHandler

void ServiceMgrStatusHandler(
  void *appState,
  WEAVE_ERROR err,
  StatusReport *report
)

Der Handler wird aufgerufen, wenn der Service Manager die TCP-Verbindung zum Service nicht herstellen konnte.