nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelAgent
Zusammenfassung
Konstruktoren und Zerstörer |
|
---|---|
WeaveTunnelAgent(void)
|
Öffentliche Typen |
|
---|---|
AgentState{
|
enum Status des Tunnel-Agents in Bezug auf seine Verbindungen zum Dienst. |
AgentState
|
typedef Status des Tunnel-Agents in Bezug auf seine Verbindungen zum Dienst. |
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
|
typedefvoid(*
Funktionszeiger auf Handler, der von einer höheren Ebene festgelegt wird, wenn eine Tunnel-Neuverbindung vom Dienst empfangen wird. |
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
|
typedefvoid(*
Funktionszeiger auf einen Handler, der von einer höheren Ebene so festgelegt wird, dass er auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst reagiert. |
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
|
typedefvoid(*
Funktionszeiger auf einen Handler, der von der Anwendung zur Durchführung einer Online-Prüfung auf Netzwerkebene bereitgestellt wird. |
WeaveTunnelFlags{
|
enum Weave-Tunnel-Flag-Bits. |
WeaveTunnelFlags
|
typedef Weave-Tunnel-Flag-Bits. |
Öffentliche Attribute |
|
---|---|
NetworkOnlineCheck
|
|
OnServiceTunReconnectNotify
|
|
OnServiceTunStatusNotify
|
Funktionszeiger auf einen Handler, der von einer höheren Ebene so festgelegt wird, dass er auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst reagiert.
|
mServiceMgr
|
WeaveServiceManager *
Service Manager-Zeiger zum Suchen und Verbinden mit dem Dienst.
|
Öffentliche Funktionen |
|
---|---|
DisablePrimaryTunnel(void)
|
void
Deaktivieren Sie den primären Tunnel.
|
EnablePrimaryTunnel(void)
|
void
Primären Tunnel aktivieren.
|
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-Agent.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
|
Initialisieren Sie den Tunnel-Agent.
|
IsPrimaryTunnelEnabled(void) const
|
bool
Prüfen Sie, ob der primäre Tunnel aktiviert ist.
|
IsPrimaryTunnelRoutingRestricted(void)
|
bool
Prüfen Sie, ob der primäre Tunnel Routingbeschränkungen des Dienstes unterliegt.
|
IsTunnelRoutingRestricted(void)
|
bool
Prüfen Sie, ob der Tunnel Routingbeschränkungen des Dienstes unterliegt.
|
NetworkOnlineCheckResult(TunnelType tunType, bool isOnline)
|
void
Von der Plattform aufgerufener Callback, wenn das Ergebnis der Netzwerk-Online-Prüfung verfügbar ist.
|
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
|
Setzen Sie die Zeit für die Wiederherstellung der Verbindung für den primären Tunnel zurück.
|
SetAuthMode(const WeaveAuthMode authMode)
|
void
Legen Sie WeaveAuthMode für den Tunnel fest.
|
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
|
void
Legen Sie die Knoten-ID, die IP-Adresse und den Port des Tunnels als Ziel 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 Tunnel-Agent herunter.
|
StartServiceTunnel(void)
|
Starten Sie den Diensttunnel.
|
StartServiceTunnel(uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
|
Starten Sie den Diensttunnel.
|
StopServiceTunnel(void)
|
void
Tunnelverbindung zum Dienst schließen.
|
StopServiceTunnel(WEAVE_ERROR err)
|
void
Tunnelverbindung zum Dienst schließen.
|
Öffentliche statische Funktionen |
|
---|---|
RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
|
void
Handler für den Empfang getunnelter IPv6-Pakete über den Shortcut-UDP-Tunnel zwischen dem Border Gateway und dem Mobilgerät und zur Weiterleitung an die Tunnel EndPoint-Schnittstelle, nachdem das IPv6-Rohpaket aus dem Tunnelheader entkapselt wurde.
|
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
|
void
Handler zum Empfang von IPv6-Paketen von der Tunnel EndPoint-Schnittstelle und zum Weiterleiten an den Dienst über die Dienst-TCP-Verbindung, nachdem das IPv6-Paket im Tunnel-Header gekapselt wurde, oder an den Mobile-Client über einen Shortcut-Tunnel.
|
Öffentliche Typen
AgentState
AgentState
Status des Tunnel-Agents in Bezug auf seine Verbindungen zum Dienst.
Attribute | |
---|---|
kState_BkupOnlyTunModeEstablished
|
Wird verwendet, um anzugeben, dass der Sicherungstunnel zum Dienst eingerichtet wurde. |
kState_Initialized_NoTunnel
|
Wird verwendet, um anzuzeigen, dass der Tunnel-Agent initialisiert, aber kein Tunnel eingerichtet wurde. |
kState_NotInitialized
|
Wird verwendet, um anzuzeigen, dass der Tunnel-Agent nicht initialisiert wurde. |
kState_PrimaryAndBkupTunModeEstablished
|
Wird verwendet, um anzuzeigen, dass sowohl der primäre als auch der Sicherungstunnel eingerichtet wurden. |
kState_PrimaryTunModeEstablished
|
Wird verwendet, um anzugeben, dass der primäre Tunnel zum Dienst eingerichtet wurde. |
AgentState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState
Status des Tunnel-Agents in Bezug auf seine Verbindungen zum Dienst.
OnServiceTunnelReconnectNotifyFunct
void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
Funktionszeiger auf Handler, der von einer höheren Ebene festgelegt wird, wenn eine Tunnel-Neuverbindung vom Dienst empfangen wird.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
OnServiceTunnelStatusNotifyFunct
void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
Funktionszeiger auf einen Handler, der von einer höheren Ebene so festgelegt wird, dass er auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst reagiert.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
PlatformNetworkOnlineCheck
void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
Funktionszeiger auf einen Handler, der von der Anwendung zur Durchführung einer Online-Prüfung auf Netzwerkebene bereitgestellt wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
WeaveTunnelFlags
WeaveTunnelFlags
Weave-Tunnel-Flag-Bits.
Attribute | |
---|---|
kTunnelFlag_BackupEnabled
|
Wird festgelegt, wenn der Sicherungstunnel aktiviert ist. |
kTunnelFlag_BackupRestricted
|
Legen Sie fest, wann das Routing des Sicherungstunnels eingeschränkt ist. |
kTunnelFlag_PrimaryEnabled
|
Wird festgelegt, wenn der primäre Tunnel aktiviert ist. |
kTunnelFlag_PrimaryRestricted
|
Legen Sie fest, wann das Routing des primären Tunnels eingeschränkt ist. |
WeaveTunnelFlags
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags
Weave-Tunnel-Flag-Bits.
Öffentliche Attribute
NetworkOnlineCheck
PlatformNetworkOnlineCheck NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify
OnServiceTunStatusNotify
OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify
Funktionszeiger auf einen Handler, der von einer höheren Ebene so festgelegt wird, dass er auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst reagiert.
mServiceMgr
WeaveServiceManager * mServiceMgr
Service Manager-Zeiger zum Suchen und Verbinden mit dem Dienst.
Öffentliche Funktionen
DisablePrimaryTunnel
void DisablePrimaryTunnel( void )
Deaktivieren Sie den primären Tunnel.
Deaktivieren Sie den primären Tunnel.
EnablePrimaryTunnel
void EnablePrimaryTunnel( void )
Primären Tunnel aktivieren.
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.
Ruft 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.
Details | |
---|---|
Rückgabe |
AgentState ist der aktuelle Status des WeaveTunnelAgent.
|
Init
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-Agent.
Dadurch wird das Tunnel-Endpunktobjekt erstellt, die Tunnelschnittstelle eingerichtet, Mitgliedsvariablen, Callbacks und WeaveTunnelControl initialisiert werden.
Init
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-Agent.
Dadurch wird das Tunnel-Endpunktobjekt erstellt, die Tunnelschnittstelle eingerichtet, Mitgliedsvariablen, Callbacks und WeaveTunnelControl initialisiert werden.
IsPrimaryTunnelEnabled
bool IsPrimaryTunnelEnabled( void ) const
Prüfen Sie, ob der primäre Tunnel aktiviert ist.
Details | |
---|---|
Rückgabe |
"true", wenn es aktiviert ist, andernfalls "false".
|
IsPrimaryTunnelRoutingRestricted
bool IsPrimaryTunnelRoutingRestricted( void )
Prüfen Sie, ob der primäre Tunnel Routingbeschränkungen des Dienstes unterliegt.
Prüfen Sie, ob der primäre Tunnel Routingbeschränkungen unterliegt.
Details | |
---|---|
Rückgabe |
„true“, wenn der primäre Tunnel eingerichtet ist, aber Routingeinschränkungen des Dienstes unterliegt.
|
IsTunnelRoutingRestricted
bool IsTunnelRoutingRestricted( void )
Prüfen Sie, ob der Tunnel Routingbeschränkungen des Dienstes unterliegt.
Prüfen Sie, ob der Tunnel Routingbeschränkungen unterliegt.
Details | |
---|---|
Rückgabe |
"true", wenn entweder der primäre oder der Sicherungstunnel eingerichtet wurde und beide den Routingbeschränkungen des Dienstes unterliegen.
|
NetworkOnlineCheckResult
void NetworkOnlineCheckResult( TunnelType tunType, bool isOnline )
Von der Plattform aufgerufener Callback, wenn das Ergebnis der Netzwerk-Online-Prüfung verfügbar ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
ResetPrimaryReconnectBackoff
WEAVE_ERROR ResetPrimaryReconnectBackoff( bool reconnectImmediately )
Setzen Sie die Zeit für die Wiederherstellung der Verbindung für den primären Tunnel zurück.
Details | |||
---|---|---|---|
Parameter |
|
SetAuthMode
void SetAuthMode( const WeaveAuthMode authMode )
Legen Sie WeaveAuthMode für den Tunnel fest.
Details | |||
---|---|---|---|
Parameter |
|
SetDestination
void SetDestination( const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort )
Legen Sie die Knoten-ID, die IP-Adresse und den Port des Tunnels als Ziel fest.
Legen Sie die Knoten-ID und die IP-Adresse des Ziels für den Tunnel fest.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
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.
Details | |||
---|---|---|---|
Parameter |
|
Herunterfahren
WEAVE_ERROR Shutdown( void )
Fahren Sie den Tunnel-Agent herunter.
Dadurch wird die Verbindung zum Dienst unterbrochen und die TunEndPoint-Schnittstelle wird geschlossen, nachdem Adressen und Routen entfernt wurden, die mit der Tunnelschnittstelle verknüpft sind.
Dadurch wird die Verbindung zum Dienst unterbrochen und die TunEndPoint-Schnittstelle wird geschlossen, nachdem Adressen und Routen entfernt wurden, die mit der Tunnelschnittstelle verknüpft sind.
Details | |
---|---|
Rückgabe |
WEAVE_NO_ERROR bei Erfolg, andernfalls 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 herzustellen.
Dadurch wird versucht, eine Verbindung zum Dienst herzustellen, und die Fabric-Route wird auf die Tunnelschnittstelle festgelegt.
Details | |
---|---|
Rückgabe |
WEAVE_NO_ERROR bei Erfolg, andernfalls 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 herzustellen.
StopServiceTunnel
void StopServiceTunnel( void )
Tunnelverbindung zum Dienst schließen.
StopServiceTunnel
void StopServiceTunnel( WEAVE_ERROR err )
Tunnelverbindung zum Dienst schließen.
Details | |||
---|---|---|---|
Parameter |
|
WeaveTunnelAgent
WeaveTunnelAgent( void )
Öffentliche statische Funktionen
RecvdFromShortcutUDPTunnel
void RecvdFromShortcutUDPTunnel( WeaveMessageLayer *msgLayer, PacketBuffer *message )
Handler für den Empfang getunnelter IPv6-Pakete über den Shortcut-UDP-Tunnel zwischen dem Border Gateway und dem Mobilgerät und zur Weiterleitung an die Tunnel EndPoint-Schnittstelle, nachdem das IPv6-Rohpaket aus dem Tunnelheader entkapselt wurde.
Handler für den Empfang getunnelter IPv6-Pakete über die Dienst-TCP-Verbindung und für die Weiterleitung an die Tunnel EndPoint-Schnittstelle, nachdem das unformatierte IPv6-Paket aus dem Tunnelheader entkapselt wurde.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
RecvdFromTunnelEndPoint
void RecvdFromTunnelEndPoint( TunEndPoint *tunEP, PacketBuffer *message )
Handler zum Empfang von IPv6-Paketen von der Tunnel EndPoint-Schnittstelle und zum Weiterleiten an den Dienst über die Dienst-TCP-Verbindung, nachdem das IPv6-Paket im Tunnel-Header gekapselt wurde, oder an den Mobile-Client über einen Shortcut-Tunnel.
Handler zum Empfang von IPv6-Paketen von der Tunnel EndPoint-Schnittstelle und zum Weiterleiten an den Dienst über die Dienst-TCP-Verbindung, nachdem das IPv6-Paket im Tunnelheader gekapselt wurde, oder an den Mobile-Client über einen lokalen Tunnel.
Wenn die Dienstverbindung noch nicht hergestellt ist, wird die Nachricht in die Warteschlange gestellt, bis die Verbindung eingerichtet ist. Beim Tunneling zum mobilen Clientgerät wird auf die Nachbartabelle des nächsten Hops verwiesen.
Wenn die Dienstverbindung noch nicht hergestellt ist, wird die Nachricht in die Warteschlange gestellt, bis die Verbindung eingerichtet ist. Beim Tunneling zum mobilen Clientgerät wird auf die Nachbartabelle des nächsten Hops verwiesen.
Details | |||||
---|---|---|---|---|---|
Parameter |
|