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

nl:: Weben:: Profile:: Webtunnel:: WeaveTunnelAgent

Zusammenfassung

Konstruktoren und Destruktoren

WeaveTunnelAgent (void)

Öffentliche Typen

AgentState {
kState_NotInitialized = 0,
kState_Initialized_NoTunnel = 1,
kState_PrimaryTunModeEstablished = 2,
kState_BkupOnlyTunModeEstablished = 3,
kState_PrimaryAndBkupTunModeEstablished = 4
}
aufzählen
Zustände des Tunnelagenten in Bezug auf seine Verbindung(en) zum Dienst.
AgentState Typdef
Zustände des Tunnelagenten in Bezug auf seine Verbindung(en) zum Dienst.
OnServiceTunnelReconnectNotifyFunct )(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) Typdef
void(*
Funktionszeiger auf Handler, der von einer höheren Schicht gesetzt wird, wenn eine Tunnel-Wiederverbindung vom Dienst empfangen wird.
OnServiceTunnelStatusNotifyFunct )(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt) Typdef
void(*
Funktionszeiger auf Handler, der von einer höheren Schicht gesetzt wurde, um auf verschiedene Benachrichtigungen in Bezug auf den Tunnel zum Dienst zu reagieren.
PlatformNetworkOnlineCheck )(TunnelType tunType, void *appCtxt) Typdef
void(*
Funktionszeiger auf einen von der Anwendung bereitgestellten Handler zum Durchführen einer Online-Prüfung auf Netzwerkebene.
WeaveTunnelFlags {
kTunnelFlag_PrimaryEnabled = 0x01,
kTunnelFlag_BackupEnabled = 0x02,
kTunnelFlag_PrimaryRestricted = 0x04,
kTunnelFlag_BackupRestricted = 0x08
}
aufzählen
Weben Sie Tunnel-Flag-Bits.
WeaveTunnelFlags Typdef
Weben Sie Tunnel-Flag-Bits.

Öffentliche Attribute

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
Funktionszeiger auf Handler, der von einer höheren Schicht gesetzt wurde, um auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst zu reagieren.
mServiceMgr
WeaveServiceManager *
Service Manager-Zeiger zum Suchen und Herstellen einer Verbindung mit dem Dienst.

Öffentliche Funktionen

DisablePrimaryTunnel (void)
void
Deaktivieren Sie den primären Tunnel.
EnablePrimaryTunnel (void)
void
Aktivieren Sie den primären Tunnel.
GetAgentStateName (const AgentState state)
const char *
Rufen Sie den WeaveTunnelAgentState-Namen ab.
GetTimeMsec (void)
uint64_t
Rufen Sie die Systemzeit in Millisekunden ab.
GetWeaveTunnelAgentState (void)
Rufen Sie den TunnelAgent-Status ab.
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
Initialisieren Sie den Tunnel-Agenten.
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
Initialisieren Sie den Tunnel-Agenten.
IsPrimaryTunnelEnabled (void) const
bool
Überprüfen Sie, ob der primäre Tunnel aktiviert ist.
IsPrimaryTunnelRoutingRestricted (void)
bool
Prüfen Sie, ob der primäre Tunnel Routing-Einschränkungen durch den Dienst unterliegt.
IsTunnelRoutingRestricted (void)
bool
Prüfen Sie, ob der Tunnel Routing-Einschränkungen des Dienstes unterliegt.
NetworkOnlineCheckResult (TunnelType tunType, bool isOnline)
void
Rückruf, der von der Plattform aufgerufen wird, wenn das Ergebnis des Online-Checkers des Netzwerks verfügbar ist.
ResetPrimaryReconnectBackoff (bool reconnectImmediately)
Setzen Sie die Reconnect-Zeit für den primären Tunnel zurück.
SetAuthMode (const WeaveAuthMode authMode)
void
Legen Sie den WeaveAuthMode für den Tunnel fest.
SetDestination (const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
void
Legen Sie die Ziel-NodeId, IPAddress und den Port für den Tunnel fest.
SetTunnelingDeviceRole (const Role role)
void
Legen Sie die Tunneling-Geräterolle (BorderGateway, StandaloneDevice, MobileDevice) für den Tunnel fest.
Shutdown (void)
Fahren Sie den Tunnelagenten herunter.
StartServiceTunnel (void)
Starten Sie den Diensttunnel.
StartServiceTunnel (uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
Starten Sie den Diensttunnel.
StopServiceTunnel (void)
void
Schließen Sie die Tunnelverbindung zum Dienst.
StopServiceTunnel ( WEAVE_ERROR err)
void
Schließen Sie die Tunnelverbindung zum Dienst.

Öffentliche statische Funktionen

RecvdFromShortcutUDPTunnel ( WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
Handler zum Empfangen von getunnelten IPv6-Paketen über den Shortcut-UDP-Tunnel zwischen dem Border-Gateway und dem Mobilgerät und zum Weiterleiten an die Tunnel EndPoint-Schnittstelle, nachdem das rohe IPv6-Paket aus dem Tunnelheader entkapselt wurde.
RecvdFromTunnelEndPoint ( TunEndPoint *tunEP, PacketBuffer *message)
void
Handler zum Empfangen von IPv6-Paketen von der Tunnel EndPoint-Schnittstelle und Weiterleitung, entweder an den Dienst über die Dienst-TCP-Verbindung nach dem Einkapseln von IPv6-Paketen in den Tunnelheader oder an den Mobile-Client über einen Shortcut-Tunnel.

Öffentliche Typen

Agentenstatus

 AgentState

Zustände des Tunnelagenten in Bezug auf seine Verbindung(en) zum Dienst.

Eigenschaften
kState_BkupOnlyTunModeEstablished

Wird verwendet, um anzuzeigen, dass der Backup-Tunnel zum Dienst eingerichtet wurde.

kState_Initialized_NoTunnel

Wird verwendet, um anzuzeigen, dass der Tunnelagent initialisiert wurde, aber kein Tunnel eingerichtet wurde.

kState_NotInitialized

Wird verwendet, um anzuzeigen, dass der Tunnelagent nicht initialisiert ist.

kState_PrimaryAndBkupTunModeEstablished

Wird verwendet, um anzuzeigen, dass sowohl der primäre als auch der Backup-Tunnel eingerichtet wurden.

kState_PrimaryTunModeEstablished

Wird verwendet, um anzuzeigen, dass der primäre Tunnel zum Dienst eingerichtet wurde.

Agentenstatus

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState

Zustände des Tunnelagenten in Bezug auf seine Verbindung(en) zum Dienst.

OnServiceTunnelReconnectNotifyFunct

void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)

Funktionszeiger auf Handler, der von einer höheren Schicht gesetzt wird, wenn eine Tunnel-Wiederverbindung vom Dienst empfangen wird.

Einzelheiten
Parameter
[in] tunType
Der Tunneltyp, Primär oder Backup.
[in] reconnectHost
Der vom Dienst bereitgestellte Hostname für die erneute Verbindung.
[in] reconnectPort
Der vom Dienst bereitgestellte Zielport für die erneute Verbindung.
[in] appCtxt
Ein Zeiger auf ein Anwendungskontextobjekt

OnServiceTunnelStatusNotifyFunct

void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)

Funktionszeiger auf Handler, der von einer höheren Schicht gesetzt wurde, um auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst zu reagieren.

Einzelheiten
Parameter
[in] reason
Der Grund für die Statusmeldung an die Anwendung.
[in] err
Webfehler aufgetreten, falls vorhanden
[in] appCtxt
Ein Zeiger auf ein Anwendungskontextobjekt

PlattformNetzwerkOnlineCheck

void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)

Funktionszeiger auf einen von der Anwendung bereitgestellten Handler zum Durchführen einer Online-Prüfung auf Netzwerkebene.

Einzelheiten
Parameter
[in] tunType
Der Tunneltyp, Primär oder Backup.
[in] appCtxt
Ein Zeiger auf ein Anwendungskontextobjekt

WeaveTunnelFlags

 WeaveTunnelFlags

Weben Sie Tunnel-Flag-Bits.

Eigenschaften
kTunnelFlag_BackupEnabled

Wird festgelegt, wenn der Backup-Tunnel aktiviert ist.

kTunnelFlag_BackupRestricted

Wird festgelegt, wenn für den Backup-Tunnel das Routing eingeschränkt ist

kTunnelFlag_PrimaryEnabled

Wird festgelegt, wenn der primäre Tunnel aktiviert ist.

kTunnelFlag_PrimaryRestricted

Wird festgelegt, wenn der primäre Tunnel Routing-beschränkt ist.

WeaveTunnelFlags

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags

Weben Sie Tunnelflaggenbits.

Öffentliche Attribute

NetzwerkOnlineCheck

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

Funktionszeiger auf Handler, der von einer höheren Schicht gesetzt wurde, um auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst zu reagieren.

mServiceMgr

WeaveServiceManager * mServiceMgr

Service Manager-Zeiger zum Suchen und Herstellen einer Verbindung mit dem Dienst.

Öffentliche Funktionen

Primären Tunnel deaktivieren

void DisablePrimaryTunnel(
  void
)

Deaktivieren Sie den primären Tunnel.

Deaktivieren Sie den primären Tunnel.

AktivierenPrimaryTunnel

void EnablePrimaryTunnel(
  void
)

Aktivieren Sie den primären Tunnel.

Aktivieren Sie den primären Tunnel.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

Rufen Sie den WeaveTunnelAgentState-Namen ab.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

Rufen Sie die Systemzeit in Millisekunden ab.

Rufen Sie die Systemzeit oder monotone Zeit in Millisekunden ab, wenn die Systemzeit nicht verfügbar ist.

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

Rufen Sie den TunnelAgent-Status ab.

Einzelheiten
Kehrt zurück
AgentState den aktuellen Zustand des WeaveTunnelAgent .

Drin

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  WeaveAuthMode authMode,
  WeaveServiceManager *svcMgr,
  const char *intfName,
  uint8_t role,
  void *appContext
)

Initialisieren Sie den Tunnel-Agenten.

Dies schafft te Tunnelendpunktobjekt setzt die Tunnelschnittstelle auf, initialisiert Elementvariablen, Rückrufe und WeaveTunnelControl .

Drin

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode,
  const char *intfName,
  uint8_t role,
  void *appContext
)

Initialisieren Sie den Tunnel-Agenten.

Dies schafft te Tunnelendpunktobjekt setzt die Tunnelschnittstelle auf, initialisiert Elementvariablen, Rückrufe und WeaveTunnelControl .

IstPrimaryTunnelEnabled

bool IsPrimaryTunnelEnabled(
  void
) const 

Überprüfen Sie, ob der primäre Tunnel aktiviert ist.

Einzelheiten
Kehrt zurück
true, wenn aktiviert, sonst false.

IstPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

Prüfen Sie, ob der primäre Tunnel Routing-Einschränkungen durch den Dienst unterliegt.

Prüfen Sie, ob der primäre Tunnel Routing-Einschränkungen unterliegt.

Einzelheiten
Kehrt zurück
true , wenn der primäre Tunnel eingerichtet ist, aber Routingbeschränkungen durch den Dienst unterliegt.

IstTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

Prüfen Sie, ob der Tunnel Routing-Einschränkungen des Dienstes unterliegt.

Prüfen Sie, ob der Tunnel Routing-Einschränkungen unterliegt.

Einzelheiten
Kehrt zurück
true , wenn entweder der primäre oder der Backup-Tunnel eingerichtet ist und beide Routing-Einschränkungen durch den Dienst unterliegen.

NetzwerkOnlineCheckErgebnis

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

Rückruf, der von der Plattform aufgerufen wird, wenn das Ergebnis des Online-Checkers des Netzwerks verfügbar ist.

Einzelheiten
Parameter
[in] tunType
Der Tunneltyp, der der Schnittstelle entspricht, über die die Netzwerkkonnektivitätsprüfung durchgeführt wird.
[in] isOnline
True, wenn das Netzwerk online ist, andernfalls false.

ResetPrimaryReconnectBackoff

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

Setzen Sie die Reconnect-Zeit für den primären Tunnel zurück.

Einzelheiten
Parameter
[in] reconnectImmediately
True, wenn eine sofortige Wiederverbindung erforderlich ist, andernfalls wird das konfigurierte Zeitlimit für die Wiederverbindung verwendet.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

Legen Sie den WeaveAuthMode für den Tunnel fest.

Einzelheiten
Parameter
[in] authMode
Weave-Authentifizierungsmodus, der mit Peer verwendet wird.

Festgelegtes Ziel

void SetDestination(
  const uint64_t nodeId,
  const IPAddress ipAddr,
  const uint16_t servicePort
)

Legen Sie die Ziel-NodeId, IPAddress und den Port für den Tunnel fest.

Legen Sie die Ziel-NodeId und IPAddress für den Tunnel fest.

Einzelheiten
Parameter
[in] nodeId
Knoten-ID des Zielknotens.
[in] ipAddr
IP-Adresse des Zielknotens.
[in] servicePort
Port des Zielknotens.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

Legen Sie die Tunneling-Geräterolle (BorderGateway, StandaloneDevice, MobileDevice) für den Tunnel fest.

Legen Sie die Tunneling-Geräterolle (BorderGateway vs. Standalone) für den Tunnel fest.

Einzelheiten
Parameter
[in] role
Vom Tunnelagenten übernommene Rolle; Border Gateway, Standalone oder Mobilgerät.

Schließen

WEAVE_ERROR Shutdown(
  void
)

Fahren Sie den Tunnelagenten herunter.

Dadurch wird die Verbindung zum Dienst unterbrochen und die TunEndPoint-Schnittstelle geschlossen, nachdem Adressen und Routen entfernt wurden, die mit der Tunnelschnittstelle verbunden sind.

Dadurch wird die Verbindung zum Dienst unterbrochen und die TunEndPoint-Schnittstelle geschlossen, nachdem Adressen und Routen entfernt wurden, die mit der Tunnelschnittstelle verbunden sind.

Einzelheiten
Kehrt zurück
WEAVE_NO_ERROR bei Erfolg, sonst ein entsprechender WEAVE_ERROR-Typ.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  void
)

Starten Sie den Diensttunnel.

Dadurch wird der Tunnel aktiviert und versucht, eine Verbindung zum Dienst aufzubauen.

Dieser versucht, eine Verbindung zum Service aufzubauen und legt auch die Fabric-Route zum Tunnel-Interface fest.

Einzelheiten
Kehrt zurück
WEAVE_NO_ERROR bei Erfolg, sonst ein entsprechender WEAVE_ERROR-Typ.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode
)

Starten Sie den Diensttunnel.

Dadurch wird der Tunnel aktiviert und versucht, eine Verbindung zum Dienst aufzubauen.

StopServiceTunnel

void StopServiceTunnel(
  void
)

Schließen Sie die Tunnelverbindung zum Dienst.

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

Schließen Sie die Tunnelverbindung zum Dienst.

Einzelheiten
Parameter
[in] err
WEAVE_NO_ERROR wenn es keinen bestimmten Grund für diese StopServiceTunnel-Anfrage gibt, andernfalls würde die Fehlerursache weitergegeben.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

Öffentliche statische Funktionen

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

Handler zum Empfangen von getunnelten IPv6-Paketen über den Shortcut-UDP-Tunnel zwischen dem Border-Gateway und dem Mobilgerät und zum Weiterleiten an die Tunnel EndPoint-Schnittstelle, nachdem das rohe IPv6-Paket aus dem Tunnelheader entkapselt wurde.

Handler zum Empfangen getunnelter IPv6-Pakete 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.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

Handler zum Empfangen von IPv6-Paketen von der Tunnel EndPoint-Schnittstelle und Weiterleitung, entweder an den Dienst über die Dienst-TCP-Verbindung nach dem Einkapseln von IPv6-Paketen im Tunnelheader oder an den Mobile-Client über einen Shortcut-Tunnel.

Handler zum Empfangen von IPv6-Paketen von der Tunnel EndPoint-Schnittstelle und Weiterleiten, entweder an den Dienst über die Dienst-TCP-Verbindung nach dem Einkapseln von IPv6-Paketen in den Tunnel-Header oder an den Mobile-Client über einen lokalen Tunnel.

Wenn die Dienstverbindung noch nicht aufgebaut ist, wird die Nachricht in die Warteschlange gestellt, bis die Verbindung aufgebaut ist. Für das Tunneln zum mobilen Clientgerät wird auf die Nexthop-Nachbartabelle verwiesen.

Wenn die Dienstverbindung noch nicht aufgebaut ist, wird die Nachricht in die Warteschlange gestellt, bis die Verbindung aufgebaut ist. Für das Tunneln zum mobilen Clientgerät wird auf die Nexthop-Nachbartabelle verwiesen.

Einzelheiten
Parameter
[in] tunEP
Ein Zeiger auf das TunEndPoint-Objekt.
[in] message
Ein Zeiger auf das PacketBuffer-Objekt, das das rohe IPv6-Paket enthält.