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)
|
typedef.void(*
Funktionszeiger auf den 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)
|
typedef.void(*
Funktionszeiger auf einen Handler, der von einer höheren Ebene festgelegt wird, um auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst zu reagieren. |
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
|
typedef.void(*
Funktionszeiger auf einen von der Anwendung bereitgestellten Handler zur Durchführung einer Online-Prüfung auf Netzwerkebene. |
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 festgelegt wird, um auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst zu reagieren.
|
mServiceMgr
|
WeaveServiceManager *
Service Manager-Zeiger, der zum Suchen und Herstellen einer Verbindung zum Dienst verwendet werden soll.
|
Öffentliche Funktionen |
|
---|---|
DisablePrimaryTunnel(void)
|
void
Primären Tunnel deaktivieren.
|
EnablePrimaryTunnel(void)
|
void
Aktivieren Sie den primären Tunnel.
|
GetAgentStateName(const AgentState state)
|
const char *
Rufen Sie den Namen von WeaveTunnelAgentState 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 Rückruf, wenn das Ergebnis der Netzwerk-Online-Prüfung verfügbar ist.
|
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
|
Setzen Sie die Zeit für die erneute Verbindung 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 Knoten-ID, die IP-Adresse und den Port des Ziels für den Tunnel fest.
|
SetTunnelingDeviceRole(const Role role)
|
void
Legen Sie die Rolle des Tunneling-Geräts(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
Trennen Sie die Tunnelverbindung zum Dienst.
|
StopServiceTunnel(WEAVE_ERROR err)
|
void
Trennen Sie die Tunnelverbindung zum Dienst.
|
Öffentliche statische Funktionen |
|
---|---|
RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
|
void
Handler, der getunnelte IPv6-Pakete über den Shortcut-UDP-Tunnel zwischen dem Border Gateway und dem Mobilgerät empfängt und an die Tunnel EndPoint-Schnittstelle weiterleitet, nachdem das IPv6-Rohpaket aus dem Tunnel-Header kapselt wurde.
|
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
|
void
Handler, der IPv6-Pakete von der Tunnel EndPoint-Schnittstelle empfängt und weiterleitet, entweder an den Dienst über die Dienst-TCP-Verbindung, nachdem das IPv6-Paket im Tunnel-Header gekapselt wurde, oder zum 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 anzuzeigen, dass der Sicherungstunnel zum Dienst eingerichtet wurde. |
kState_Initialized_NoTunnel
|
Wird verwendet, um anzuzeigen, dass der Tunnel-Agent initialisiert wurde, 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 Tunnel als auch der Sicherungstunnel eingerichtet wurden. |
kState_PrimaryTunModeEstablished
|
Wird verwendet, um anzuzeigen, 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 den 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 festgelegt wird, um auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst zu reagieren.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
PlatformNetworkOnlineCheck
void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
Funktionszeiger auf einen von der Anwendung bereitgestellten Handler zur Durchführung einer Online-Prüfung auf Netzwerkebene.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
WeaveTunnelFlags
WeaveTunnelFlags
Weave-Tunnel-Flag-Bits.
Attribute | |
---|---|
kTunnelFlag_BackupEnabled
|
Wird festgelegt, wenn der Sicherungstunnel aktiviert ist. |
kTunnelFlag_BackupRestricted
|
Wird festgelegt, wenn das Routing des Sicherungstunnels eingeschränkt ist. |
kTunnelFlag_PrimaryEnabled
|
Legen Sie fest, wann der primäre Tunnel aktiviert ist. |
kTunnelFlag_PrimaryRestricted
|
Legen Sie fest, wenn 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 festgelegt wird, um auf verschiedene Benachrichtigungen im Zusammenhang mit dem Tunnel zum Dienst zu reagieren.
mServiceMgr
WeaveServiceManager * mServiceMgr
Service Manager-Zeiger, der zum Suchen und Herstellen einer Verbindung zum Dienst verwendet werden soll.
Öffentliche Funktionen
DisablePrimaryTunnel
void DisablePrimaryTunnel( void )
Primären Tunnel deaktivieren.
Deaktivieren Sie den primären Tunnel.
EnablePrimaryTunnel
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 Namen von WeaveTunnelAgentState ab.
GetTimeMsec
uint64_t GetTimeMsec( void )
Rufen Sie die Systemzeit in Millisekunden ab.
Ruft die Systemzeit oder die monotone Zeit in Millisekunden ab, wenn keine Systemzeit verfügbar ist.
GetWeaveTunnelAgentState
AgentState GetWeaveTunnelAgentState( void )
Rufen Sie den TunnelAgent-Status ab.
Details | |
---|---|
Rückgabe |
AgentState ist der aktuelle Status von 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 ein Tunnel-Endpunktobjekt erstellt, die Tunnelschnittstelle eingerichtet, Membervariablen, Callbacks und WeaveTunnelControl initialisiert.
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 ein Tunnel-Endpunktobjekt erstellt, die Tunnelschnittstelle eingerichtet, Membervariablen, Callbacks und WeaveTunnelControl initialisiert.
IsPrimaryTunnelEnabled
bool IsPrimaryTunnelEnabled( void ) const
Prüfen Sie, ob der primäre Tunnel aktiviert ist.
Details | |
---|---|
Rückgabe |
Ist diese Option aktiviert, lautet sie "true", 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 wurde, aber Routingbeschränkungen durch den Dienst 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 Tunnel oder der Sicherungstunnel eingerichtet ist und beide Routingbeschränkungen durch den Dienst unterliegen.
|
NetworkOnlineCheckResult
void NetworkOnlineCheckResult( TunnelType tunType, bool isOnline )
Von der Plattform aufgerufener Rückruf, 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 erneute Verbindung für den primären Tunnel zurück.
Details | |||
---|---|---|---|
Parameter |
|
SetAuthMode
void SetAuthMode( const WeaveAuthMode authMode )
Legen Sie den 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 Ziels für den Tunnel 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 Rolle des Tunneling-Geräts(BorderGateway, StandaloneDevice, MobileDevice) für den Tunnel fest.
Legen Sie die Rolle des Tunneling-Geräts(BorderGateway oder 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-Oberfläche geschlossen, nachdem die mit der Tunnelschnittstelle verknüpften Adressen und Routen entfernt wurden.
Dadurch wird die Verbindung zum Dienst unterbrochen und die TunEndPoint-Oberfläche geschlossen, nachdem die mit der Tunnelschnittstelle verknüpften Adressen und Routen entfernt wurden.
Details | |
---|---|
Rückgabe |
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 es wird versucht, eine Verbindung zum Dienst herzustellen.
Dadurch wird versucht, eine Verbindung zum Dienst herzustellen. Außerdem wird die Fabric-Route zur Tunnelschnittstelle festgelegt.
Details | |
---|---|
Rückgabe |
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 es wird versucht, eine Verbindung zum Dienst herzustellen.
StopServiceTunnel
void StopServiceTunnel( void )
Trennen Sie die Tunnelverbindung zum Dienst.
StopServiceTunnel
void StopServiceTunnel( WEAVE_ERROR err )
Trennen Sie die Tunnelverbindung zum Dienst.
Details | |||
---|---|---|---|
Parameter |
|
WeaveTunnelAgent
WeaveTunnelAgent( void )
Öffentliche statische Funktionen
RecvdFromShortcutUDPTunnel
void RecvdFromShortcutUDPTunnel( WeaveMessageLayer *msgLayer, PacketBuffer *message )
Handler, der getunnelte IPv6-Pakete über den Shortcut-UDP-Tunnel zwischen dem Border Gateway und dem Mobilgerät empfängt und an die Tunnel EndPoint-Schnittstelle weiterleitet, nachdem das IPv6-Rohpaket aus dem Tunnel-Header kapselt wurde.
Handler, der getunnelte IPv6-Pakete von der TCP-Verbindung des Dienstes empfängt und an die Tunnel EndPoint-Schnittstelle weiterleitet, nachdem das IPv6-Rohpaket aus dem Tunnel-Header kapselt ist.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
RecvdFromTunnelEndPoint
void RecvdFromTunnelEndPoint( TunEndPoint *tunEP, PacketBuffer *message )
Handler, der IPv6-Pakete von der Tunnel EndPoint-Schnittstelle empfängt und weiterleitet, entweder an den Dienst über die Dienst-TCP-Verbindung, nachdem das IPv6-Paket im Tunnel-Header gekapselt wurde, oder zum Mobile-Client über einen Shortcut-Tunnel.
Handler, der IPv6-Pakete von der Tunnel EndPoint-Schnittstelle empfängt und weiterleitet, entweder an den Dienst über die Dienst-TCP-Verbindung, nachdem das IPv6-Paket im Tunnel-Header gekapselt wurde, oder zum Mobile-Client über einen lokalen Tunnel.
Wenn die Dienstverbindung noch nicht hergestellt wurde, wird die Nachricht in die Warteschlange gestellt, bis die Verbindung eingerichtet ist. Beim Tunneling zum mobilen Clientgerät wird auf die Tabelle der benachbarten nexthope verwiesen.
Wenn die Dienstverbindung noch nicht hergestellt wurde, wird die Nachricht in die Warteschlange gestellt, bis die Verbindung eingerichtet ist. Beim Tunneling zum mobilen Clientgerät wird auf die Tabelle der benachbarten nexthope verwiesen.
Details | |||||
---|---|---|---|---|---|
Parameter |
|