nl:: Weave:: WeaveConnection
#include <src/lib/core/WeaveMessageLayer.h>
Die Definition der Weave-Connection-Klasse.
Zusammenfassung
Er stellt eine TCP- oder BLE-Verbindung zu einem anderen Weave-Knoten dar.
Öffentliche Typen |
|
---|---|
@58{
|
enum |
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der beim Trennen einer Verbindung aufgerufen wird. |
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der nach Abschluss der Verbindungseinrichtung aufgerufen wird. |
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der aufgerufen wird, wenn eine Nachricht über eine Weave-Verbindung empfangen wird. |
NetworkType{
|
enum Der Netzwerktyp des Weave-Verbindungsobjekts. |
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der aufgerufen wird, wenn beim Empfangen einer Weave-Nachricht ein Fehler auftritt. |
State{
|
enum Der Status des Weave-Verbindungsobjekts. |
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der beim Empfang eines Tunneling-Datenpakets über die Weave-Verbindung aufgerufen wird. |
Öffentliche Attribute |
|
---|---|
AppState
|
void *
Ein Zeiger auf das anwendungsspezifische Statusobjekt.
|
AuthMode
|
WeaveAuthMode
[READ ONLY] Der Authentifizierungsmodus, der zum Einrichten der Standardverschlüsselungsschlüssel für die Verbindung verwendet wird.
|
DefaultEncryptionType
|
uint8_t
Der Standardverschlüsselungstyp für Nachrichten.
|
DefaultKeyId
|
uint16_t
Der Standardverschlüsselungsschlüssel, der beim Senden von Nachrichten verwendet wird.
|
MessageLayer
|
[READ ONLY] Das zugehörige WeaveMessageLayer-Objekt.
|
NetworkType
|
uint8_t
[READ ONLY] Der Netzwerktyp des verknüpften Endpunkts.
|
OnConnectionClosed
|
|
OnConnectionComplete
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnTunneledMessageReceived
|
|
PeerAddr
|
IPAddress
[READ ONLY] Die IP-Adresse des Peer-Knotens.
|
PeerNodeId
|
uint64_t
[READ ONLY] Die Knoten-ID des Peers.
|
PeerPort
|
uint16_t
[READ ONLY] Die Portnummer des Peer-Knotens.
|
ReceiveEnabled
|
bool
[READ ONLY] "True", wenn der Empfang aktiviert ist, andernfalls "False".
|
SendDestNodeId
|
bool
"True", wenn alle über diese Verbindung gesendeten Nachrichten eine explizit codierte Zielknotenkennung enthalten müssen, andernfalls "False".
|
SendSourceNodeId
|
bool
"True", wenn alle über diese Verbindung gesendeten Nachrichten eine explizit codierte Kennung des Quellknotens enthalten müssen, andernfalls "False".
|
State
|
uint8_t
[READ ONLY] Der Status des Objekts WeaveConnection.
|
Öffentliche Funktionen |
|
---|---|
Abort(void)
|
void
Führt einen nicht ordnungsgemäßen Abschluss der TCP- oder BLE-basierten WeaveConnection durch, wobei alle Daten verworfen werden, die möglicherweise zum oder vom Peer übertragen werden.
|
AddRef(void)
|
void
Reservieren Sie einen Verweis auf das WeaveConnection-Objekt.
|
Close(void)
|
Führt ein nicht blockierendes ordnungsgemäßes Schließen der TCP- oder BLE-basierten WeaveConnection durch, wobei alle verbleibenden ausgehenden Daten übermittelt werden, bevor der Remote-Host höflich darüber informiert wird, dass die Verbindung zurückgesetzt wurde.
|
Close(bool suppressCloseLog)
|
Führt ein nicht blockierendes ordnungsgemäßes Schließen der TCP- oder BLE-basierten WeaveConnection durch, wobei alle verbleibenden ausgehenden Daten übermittelt werden, bevor der Remote-Host höflich darüber informiert wird, dass die Verbindung zurückgesetzt wurde.
|
Connect(uint64_t peerNodeId)
|
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Fabric-IP-Adresse her, die von der angegebenen Knotenkennung abgeleitet ist.
|
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
|
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine IP-Adresse her.
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
|
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knotenkennung und/oder eine IP-Adresse auf einer bestimmten Schnittstelle her.
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
|
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knotenkennung und/oder einen String-Hostnamen her.
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
|
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine String-Peer-Adresse her.
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
|
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine String-Peer-Adresse her.
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
|
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine Liste mit Hostnamen und Ports her.
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
|
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine Liste mit Hostnamen und Ports her.
|
DisableKeepAlive(void)
|
|
DisableReceive(void)
|
void
Deaktivieren Sie den Empfang über diese WeaveConnection.
|
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
|
|
EnableReceive(void)
|
void
Aktiviert den Empfang über diese WeaveConnection.
|
GetPeerAddressInfo(IPPacketInfo & addrInfo)
|
Rufen Sie die IP-Adressinformationen des Peers ab.
|
GetPeerDescription(char *buf, size_t bufSize) const
|
void
Erstellt einen String, der den Peer-Knoten beschreibt, der der Verbindung zugeordnet ist.
|
GetTCPEndPoint(void) const
|
TCPEndPoint *
|
IsIncoming(void) const
|
bool
|
LogId(void) const
|
uint16_t
|
Release(void)
|
void
Verringern Sie die Referenzanzahl für das WeaveConnection-Objekt.
|
ResetUserTimeout(void)
|
WeaveConnection::ResetUserTimeout zurücksetzen.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Sende eine Weave-Nachricht über eine bestehende Verbindung.
|
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Funktion zum Senden eines Tunneling-Pakets über eine Weave-Verbindung.
|
SetConnectTimeout(const uint32_t connTimeoutMsecs)
|
void
Legen Sie ein Zeitlimit fest, damit Connect erfolgreich ist oder einen Fehler zurückgibt.
|
SetIdleTimeout(uint32_t timeoutMS)
|
Legen Sie das Zeitlimit bei Inaktivität für die zugrunde liegende Netzwerkschichtverbindung fest.
|
SetIncoming(bool val)
|
void
|
SetUserTimeout(uint32_t userTimeoutMillis)
|
WeaveConnection::SetUserTimeout festgelegt ist.
|
Shutdown(void)
|
Führt ein ordnungsgemäßes TCP-Herunterfahren durch, um sicherzustellen, dass alle ausgehenden Daten vom TCP-Stack des Peers gesendet und empfangen wurden.
|
Öffentliche Typen
@58
@58
Attribute | |
---|---|
kGetPeerDescription_MaxLength
|
Maximale Länge des Strings (einschließlich NUL-Zeichen), die von GetPeerDescription() zurückgegeben wird. |
ConnectionClosedFunct
void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)
Diese Funktion ist der Anwendungs-Callback, der beim Trennen einer Verbindung aufgerufen wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
ConnectionCompleteFunct
void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)
Diese Funktion ist der Anwendungs-Callback, der nach Abschluss der Verbindungseinrichtung aufgerufen wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Diese Funktion ist der Anwendungs-Callback, der aufgerufen wird, wenn eine Nachricht über eine Weave-Verbindung empfangen wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
NetworkType
NetworkType
Der Netzwerktyp des Weave-Verbindungsobjekts.
Attribute | |
---|---|
kNetworkType_BLE
|
BLE-Netzwerktyp. |
kNetworkType_IP
|
TCP/IP-Netzwerktyp |
kNetworkType_Unassigned
|
Nicht zugewiesener Netzwerktyp. |
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)
Diese Funktion ist der Anwendungs-Callback, der aufgerufen wird, wenn beim Empfangen einer Weave-Nachricht ein Fehler auftritt.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Status
State
Der Status des Weave-Verbindungsobjekts.
Attribute | |
---|---|
kState_Closed
|
Status, wenn die Verbindung getrennt wurde. |
kState_Connected
|
Status, wenn die Verbindung hergestellt wurde. |
kState_Connecting
|
Status, wenn eine Verbindung hergestellt wird. |
kState_EstablishingSession
|
Status, wenn eine sichere Sitzung erstellt wird. |
kState_ReadyToConnect
|
Status nach der Initialisierung der Weave-Verbindung. |
kState_Resolving
|
Status, wenn die DNS-Namensauflösung ausgeführt wird. |
kState_SendShutdown
|
Status, wenn die Verbindung unterbrochen wird. |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Diese Funktion ist der Anwendungs-Callback, der beim Empfang eines Tunneling-Datenpakets über die Weave-Verbindung aufgerufen wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Öffentliche Attribute
AppState
void * AppState
Ein Zeiger auf das anwendungsspezifische Statusobjekt.
AuthMode
WeaveAuthMode AuthMode
[READ ONLY] Der Authentifizierungsmodus, der zum Einrichten der Standardverschlüsselungsschlüssel für die Verbindung verwendet wird.
DefaultEncryptionType
uint8_t DefaultEncryptionType
Der Standardverschlüsselungstyp für Nachrichten.
DefaultKeyId
uint16_t DefaultKeyId
Der Standardverschlüsselungsschlüssel, der beim Senden von Nachrichten verwendet wird.
NetworkType
uint8_t NetworkType
[READ ONLY] Der Netzwerktyp des verknüpften Endpunkts.
OnConnectionClosed
ConnectionClosedFunct OnConnectionClosed
OnConnectionComplete
ConnectionCompleteFunct OnConnectionComplete
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnTunneledMessageReceived
TunneledMsgReceiveFunct OnTunneledMessageReceived
PeerAddr
IPAddress PeerAddr
[READ ONLY] Die IP-Adresse des Peer-Knotens.
PeerNodeId
uint64_t PeerNodeId
[READ ONLY] Die Knoten-ID des Peers.
PeerPort
uint16_t PeerPort
[READ ONLY] Die Portnummer des Peer-Knotens.
ReceiveEnabled
bool ReceiveEnabled
[READ ONLY] "True", wenn der Empfang aktiviert ist, andernfalls "False".
SendDestNodeId
bool SendDestNodeId
"True", wenn alle über diese Verbindung gesendeten Nachrichten eine explizit codierte Zielknotenkennung enthalten müssen, andernfalls "False".
SendSourceNodeId
bool SendSourceNodeId
"True", wenn alle über diese Verbindung gesendeten Nachrichten eine explizit codierte Kennung des Quellknotens enthalten müssen, andernfalls "False".
Öffentliche Funktionen
Abbrechen
void Abort( void )
Führt einen nicht ordnungsgemäßen Abschluss der TCP- oder BLE-basierten WeaveConnection durch, wobei alle Daten verworfen werden, die möglicherweise zum oder vom Peer übertragen werden.
Durch einen Aufruf von Abort() wird die zugrunde liegende Verbindung sofort beendet. Danach kann das WeaveConnection-Objekt nicht mehr für die weitere Kommunikation verwendet werden.
Durch den Aufruf von Abort() wird die mit dem Objekt WeaveConnection verknüpfte Referenzzahl verringert, unabhängig davon, ob die Verbindung zum Zeitpunkt des Methodenaufrufs offen/aktiv ist. Wenn die Referenzanzahl dadurch null erreicht, werden die mit dem Verbindungsobjekt verbundenen Ressourcen freigegeben. In diesem Fall darf die Anwendung keine weiteren Interaktionen mit dem Objekt vornehmen.
Siehe auch:Shutdown(), Abort(), AddRef() und Release().
AddRef
void AddRef( void )
Reservieren Sie einen Verweis auf das WeaveConnection-Objekt.
Die Methode AddRef() erhöht die Referenzanzahl, die mit dem Objekt WeaveConnection verknüpft ist. Die Anwendung führt bei jedem Aufruf von AddRef() einen entsprechenden Aufruf an Release(), Close() oder Abort() aus.
Schließen
WEAVE_ERROR Close( void )
Führt ein nicht blockierendes ordnungsgemäßes Schließen der TCP- oder BLE-basierten WeaveConnection durch, wobei alle verbleibenden ausgehenden Daten übermittelt werden, bevor der Remote-Host höflich darüber informiert wird, dass die Verbindung zurückgesetzt wurde.
Diese Methode bietet keine Garantie dafür, dass ausgehende Nachrichten, die nicht auf Anwendungsprotokollebene bestätigt wurden, vom Remote-Peer empfangen wurden. Sowohl für TCP als auch BLE versucht der zugrunde liegende Protokollstack, ausstehende ausgehende Daten bestmöglich zuzustellen, bevor die Verbindung zurückgesetzt wird. Bei TCP sollte Shutdown() vor Close() verwendet werden, wenn vor dem Schließen der Verbindung der Empfang einer Nachricht auf Transportebene bestätigt werden muss. BLE-Verbindungen bieten kein Shutdown()-Äquivalent.
Bei BLE-basierten Verbindungen schließt Close() WeaveConnection und wird sofort zurückgegeben. Das zugrunde liegende BLEEndPoint-Objekt bleibt jedoch möglicherweise so lange bestehen, bis alle ausgehenden Daten gesendet wurden. Dies ist ein Nebeneffekt der Implementierung des Weave-over-BLE-Transport-Protokolls, das in Weave BleLayer vorhanden ist.
Sobald Close() aufgerufen wurde, kann das WeaveConnection-Objekt nicht mehr für die weitere Kommunikation verwendet werden.
Durch den Aufruf von Close() wird die mit dem Objekt WeaveConnection verknüpfte Referenzzahl verringert, unabhängig davon, ob die Verbindung zum Zeitpunkt des Methodenaufrufs offen/aktiv ist. Wenn die Referenzanzahl dadurch null erreicht, werden die mit dem Verbindungsobjekt verbundenen Ressourcen freigegeben. In diesem Fall darf die Anwendung keine weiteren Interaktionen mit dem Objekt vornehmen.
Details | |
---|---|
Rückgabe |
WEAVE_NO_ERROR ohne Bedingungen.
|
Shutdown(), Abort(), AddRef() und Release().
Schließen
WEAVE_ERROR Close( bool suppressCloseLog )
Führt ein nicht blockierendes ordnungsgemäßes Schließen der TCP- oder BLE-basierten WeaveConnection durch, wobei alle verbleibenden ausgehenden Daten übermittelt werden, bevor der Remote-Host höflich darüber informiert wird, dass die Verbindung zurückgesetzt wurde.
Diese Methode bietet keine Garantie dafür, dass ausgehende Nachrichten, die nicht auf Anwendungsprotokollebene bestätigt wurden, vom Remote-Peer empfangen wurden. Sowohl für TCP als auch BLE versucht der zugrunde liegende Protokollstack, ausstehende ausgehende Daten bestmöglich zuzustellen, bevor die Verbindung zurückgesetzt wird. Bei TCP sollte Shutdown() vor Close() verwendet werden, wenn vor dem Schließen der Verbindung der Empfang einer Nachricht auf Transportebene bestätigt werden muss. BLE-Verbindungen bieten kein Shutdown()-Äquivalent.
Bei BLE-basierten Verbindungen schließt Close() WeaveConnection und wird sofort zurückgegeben. Das zugrunde liegende BLEEndPoint-Objekt bleibt jedoch möglicherweise so lange bestehen, bis alle ausgehenden Daten gesendet wurden. Dies ist ein Nebeneffekt der Implementierung des Weave-over-BLE-Transport-Protokolls, das in Weave BleLayer vorhanden ist.
Sobald Close() aufgerufen wurde, kann das WeaveConnection-Objekt nicht mehr für die weitere Kommunikation verwendet werden.
Durch den Aufruf von Close() wird die mit dem Objekt WeaveConnection verknüpfte Referenzzahl verringert, unabhängig davon, ob die Verbindung zum Zeitpunkt des Methodenaufrufs offen/aktiv ist. Wenn die Referenzanzahl dadurch null erreicht, werden die mit dem Verbindungsobjekt verbundenen Ressourcen freigegeben. In diesem Fall darf die Anwendung keine weiteren Interaktionen mit dem Objekt vornehmen.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
WEAVE_NO_ERROR ohne Bedingungen.
|
Shutdown(), Abort(), AddRef() und Release().
Connect
WEAVE_ERROR Connect( uint64_t peerNodeId )
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Fabric-IP-Adresse her, die von der angegebenen Knotenkennung abgeleitet ist.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Connect
WEAVE_ERROR Connect( uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort )
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine IP-Adresse her.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Connect
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf )
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knotenkennung und/oder eine IP-Adresse auf einer bestimmten Schnittstelle her.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Connect
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort )
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knotenkennung und/oder einen String-Hostnamen her.
Wenn angegeben, kann PeeringAddr einen der folgenden Werte haben:
: : [ ]:
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Connect
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort )
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine String-Peer-Adresse her.
Wenn angegeben, kann PeeringAddr einen der folgenden Werte haben:
: : [ ]:
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Connect
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort )
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine String-Peer-Adresse her.
Wenn angegeben, kann PeeringAddr einen der folgenden Werte haben:
: : [ ]:
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
Connect
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf )
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine Liste mit Hostnamen und Ports her.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Connect
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf )
Stellen Sie eine Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine Liste mit Hostnamen und Ports her.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
DisableKeepAlive
WEAVE_ERROR DisableKeepAlive( void )
WeaveConnection::DisableKeepAlive.
Deaktivieren Sie TCP-Keepalive-Prüfungen für die zugrunde liegende TCP-Verbindung.
Hinweis:Diese Methode kann nur für eine Weave-Verbindung aufgerufen werden, die von einer TCP-Verbindung unterstützt wird. Diese Methode kann nur aufgerufen werden, wenn sich die Verbindung in einem Status befindet, der das Senden ermöglicht.
Diese Methode bewirkt nichts, wenn für die Verbindung keine Keepalives aktiviert wurden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Rückgabewerte |
|
DisableReceive
void DisableReceive( void )
Deaktivieren Sie den Empfang über diese WeaveConnection.
Diese Methode wird von der Anwendung verwendet, um anzuzeigen, dass sie nicht bereit ist, eingehende Daten über die TCP-Verbindung zu empfangen. Um den Empfang wieder zu aktivieren, muss die Anwendung EnableReceive() aufrufen, damit WeaveConnection empfangene Daten durch Aufrufen der entsprechenden Rückrufe übergeben kann.
Weitere Informationen:EnableReceive()
EnableKeepAlive
WEAVE_ERROR EnableKeepAlive( uint16_t interval, uint16_t timeoutCount )
WeaveConnection::EnableKeepAlive.
Aktivieren Sie TCP-Keepalive-Prüfungen für die zugrunde liegende TCP-Verbindung.
Hinweis:Diese Methode kann nur für eine Weave-Verbindung aufgerufen werden, die von einer TCP-Verbindung unterstützt wird. – Diese Methode kann nur aufgerufen werden, wenn sich die Verbindung in einem Status befindet, der das Senden ermöglicht.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
- Diese Methode kann mehrmals aufgerufen werden, um das Keepalive-Intervall oder die Timeout-Anzahl anzupassen.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Rückgabewerte |
|
EnableReceive
void EnableReceive( void )
Aktiviert den Empfang über diese WeaveConnection.
Diese Methode wird von der Anwendung verwendet, um dem WeaveConnection-Objekt mitzuteilen, dass es zum Empfangen von Daten bereit ist, die über die TCP-Verbindung eingehen.
Weitere Informationen:DisableReceive()
GetPeerAddressInfo
WEAVE_ERROR GetPeerAddressInfo( IPPacketInfo & addrInfo )
Rufen Sie die IP-Adressinformationen des Peers ab.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize ) const
Erstellt einen String, der den Peer-Knoten beschreibt, der der Verbindung zugeordnet ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
GetTCPEndPoint
TCPEndPoint * GetTCPEndPoint( void ) const
IsIncoming
bool IsIncoming( void ) const
LogId
uint16_t LogId( void ) const
Release
void Release( void )
Verringern Sie die Referenzanzahl für das WeaveConnection-Objekt.
Die Release()-Methode verringert die Referenzanzahl, die mit dem WeaveConnection-Objekt verknüpft ist. Wenn die Referenzanzahl dadurch null erreicht, wird die Verbindung geschlossen und das Verbindungsobjekt freigegeben. In diesem Fall darf die Anwendung keine weiteren Interaktionen mit dem Objekt vornehmen.
ResetUserTimeout
WEAVE_ERROR ResetUserTimeout( void )
WeaveConnection::ResetUserTimeout zurücksetzen.
Socket-Option für TCP-Nutzerzeitlimit auf die Standardeinstellung des Systems zurücksetzen.
Hinweis:Diese Methode kann nur für eine Weave-Verbindung aufgerufen werden, die von einer TCP-Verbindung unterstützt wird. – Diese Methode kann nur aufgerufen werden, wenn sich die Verbindung in einem Status befindet, der das Senden ermöglicht.
- Diese Methode bewirkt nichts, wenn für die Verbindung kein Nutzer-Timeout festgelegt wurde.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Rückgabewerte |
|
SendMessage
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Sende eine Weave-Nachricht über eine bestehende Verbindung.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
SendTunneledMessage
WEAVE_ERROR SendTunneledMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Funktion zum Senden eines Tunneling-Pakets über eine Weave-Verbindung.
Sende eine getunnelte Weave-Nachricht über eine bestehende Verbindung.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
SetConnectTimeout
void SetConnectTimeout( const uint32_t connTimeoutMsecs )
Legen Sie ein Zeitlimit fest, damit Connect erfolgreich ist oder einen Fehler zurückgibt.
Details | |||
---|---|---|---|
Parameter |
|
SetIdleTimeout
WEAVE_ERROR SetIdleTimeout( uint32_t timeoutMS )
Legen Sie das Zeitlimit bei Inaktivität für die zugrunde liegende Netzwerkschichtverbindung fest.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
SetIncoming
void SetIncoming( bool val )
SetUserTimeout
WEAVE_ERROR SetUserTimeout( uint32_t userTimeoutMillis )
WeaveConnection::SetUserTimeout festgelegt ist.
Legen Sie die Socket-Option für das TCP-Nutzerzeitlimit fest.
Wenn der Wert größer als 0 ist, gibt er die maximale Zeit in Millisekunden an, die übertragene Daten unbestätigt bleiben können, bevor TCP die entsprechende Verbindung zwangsweise schließt. Wenn der Optionswert mit 0 angegeben wird, verwendet TCP den Systemstandard. Weitere Informationen finden Sie unter RFC 5482.
Details | |||
---|---|---|---|
Parameter |
|
Hinweis:Diese Methode kann nur für eine Weave-Verbindung aufgerufen werden, die von einer TCP-Verbindung unterstützt wird. – Diese Methode kann nur aufgerufen werden, wenn sich die Verbindung in einem Status befindet, der das Senden ermöglicht.
- Diese Methode kann mehrmals aufgerufen werden, um das Zeitlimit für TCP-Nutzer anzupassen.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Rückgabewerte |
|
Herunterfahren
WEAVE_ERROR Shutdown( void )
Führt ein ordnungsgemäßes TCP-Herunterfahren durch, um sicherzustellen, dass alle ausgehenden Daten vom TCP-Stack des Peers gesendet und empfangen wurden.
Bei den meisten (aber nicht allen) TCP-Implementierungen führt der Empfang einer Funktion zum Herunterfahren von "Senden" dazu, dass der Remote-Host auch seine Seite der Verbindung herunterfährt, was zu einer Verbindungstrennung führt. Ein nachfolgender Aufruf von Close() würde WeaveConnection beenden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Rückgabewerte |
|
Close() und Abort().