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

nl::Weave::WeaveConnection

#include <src/lib/core/WeaveMessageLayer.h>

Die Definition der Weave-Connection-Klasse.

Zusammenfassung

Es stellt eine TCP- oder BLE-Verbindung zu einem anderen Weave-Knoten dar.

Öffentliche Typen

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) Typdef
void(*
Diese Funktion ist der Callback der Anwendung, der aufgerufen wird, wenn eine Verbindung geschlossen wird.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) Typdef
void(*
Diese Funktion ist der Callback der Anwendung, der aufgerufen wird, wenn eine Verbindung eingerichtet wurde.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) Typdef
void(*
Diese Funktion ist der Anwendungs-Callback, der aufgerufen wird, wenn eine Nachricht über eine Weave-Verbindung empfangen wird.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
enum
Der Netzwerktyp des Weave-Verbindungsobjekts.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) Typdef
void(*
Diese Funktion ist der Callback der Anwendung, der beim Empfangen einer Weave-Nachricht ausgelöst wird.
State{
  kState_ReadyToConnect = 0,
  kState_Resolving = 1,
  kState_Connecting = 2,
  kState_EstablishingSession = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_Closed = 6
}
enum
Der Status des Weave-Verbindungsobjekts.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) Typdef
void(*
Diese Funktion ist der Anwendungs-Callback, der beim Empfang eines getunnelten Datenpakets über die Weave-Verbindung aufgerufen wird.

Öffentliche Attribute

AppState
void *
Ein Zeiger auf das anwendungsspezifische Statusobjekt.
AuthMode
WeaveAuthMode
[READ ONLY] Der Authentifizierungsmodus, mit dem die Standardverschlüsselungsschlüssel für die Verbindung erstellt werden.
DefaultEncryptionType
uint8_t
Der Standardverschlüsselungstyp für Nachrichten.
DefaultKeyId
uint16_t
Der standardmäßige Verschlüsselungsschlüssel für das Senden von Nachrichten
MessageLayer
[READ ONLY] Das verknüpfte WeaveMessageLayer-Objekt
NetworkType
uint8_t
[READ ONLY] Der Netzwerktyp des zugehörigen Endpunkts.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[READ ONLY] Die IP-Adresse des Peer-Knotens.
PeerNodeId
uint64_t
[READ ONLY] Die Knotenkennung 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 Nachrichten, die über diese Verbindung gesendet werden, eine explizit codierte Zielknoten-ID enthalten müssen, andernfalls False.
SendSourceNodeId
bool
True, wenn alle Nachrichten, die über diese Verbindung gesendet werden, eine explizit codierte Quellknoten-ID enthalten müssen, andernfalls False.
State
uint8_t
[READ ONLY] Der Status des WeaveConnection-Objekts.

Öffentliche Funktionen

Abort(void)
void
Führt ein nicht ordnungsgemäßes Schließen der TCP- oder BLE-basierten WeaveConnection aus und verwirft alle Daten, die unter Umständen zum oder vom Peer übertragen werden.
AddRef(void)
void
Reservieren Sie einen Verweis auf das Objekt WeaveConnection.
Close(void)
Führt einen ordnungsgemäßen Abschluss des TCP- oder BLE-basierten WeaveConnection-Elements aus, wobei verbleibende Daten übertragen werden, bevor der Remote-Host höflich darüber informiert wird, dass wir die Verbindung zurückgesetzt haben.
Close(bool suppressCloseLog)
Führt einen ordnungsgemäßen Abschluss des TCP- oder BLE-basierten WeaveConnection-Elements aus, wobei verbleibende Daten übertragen werden, bevor der Remote-Host höflich darüber informiert wird, dass wir die Verbindung zurückgesetzt haben.
Connect(uint64_t peerNodeId)
Verbindung zu einem Weave-Knoten über eine Fabric-IP-Adresse herstellen, die von der angegebenen Knoten-ID abgeleitet ist.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder einer IP-Adresse herstellen.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine IP-Adresse auf einer bestimmten Schnittstelle herstellen.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder eines String-Hostnamens herstellen.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder einer String-Peer-Adresse herstellen.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder einer String-Peer-Adresse herstellen.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder einer Liste von Hostnamen und Ports herstellen.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder einer Liste von Hostnamen und Ports herstellen.
DisableKeepAlive(void)
DisableReceive(void)
void
Deaktivieren Sie den Empfang über WeaveConnection.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Aktivieren Sie 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 mit der Verbindung verknüpften Peer-Knoten beschreibt.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
Die Anzahl der Verweise auf das Objekt WeaveConnection verringern.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Sende eine Weave-Nachricht über eine bestehende Verbindung.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Funktion zum Senden eines getunnelten Pakets über eine Weave-Verbindung.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Legen Sie ein Zeitlimit fest, damit Connect erfolgreich ist oder ein Fehler zurückgegeben wird.
SetIdleTimeout(uint32_t timeoutMS)
Legen Sie das Zeitlimit bei Inaktivität für die zugrunde liegende Verbindung auf Netzwerkebene fest.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
Führt ein ordnungsgemäßes TCP-Senden aus, um sicherzustellen, dass alle ausgehenden Daten vom TCP-Stack der Peers gesendet und empfangen werden.

Öffentliche Typen

@58

 @58
Attribute
kGetPeerDescription_MaxLength

Maximale Länge des Strings (einschließlich NUL-Zeichen), die von GetPeerDescription() zurückgegeben wird.

Verbindung geschlossenFunct

void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Diese Funktion ist der Callback der Anwendung, der aufgerufen wird, wenn eine Verbindung geschlossen wird.

Details
Parameter
[in] con
Ein Zeiger auf das Objekt WeaveConnection.
[in] conErr
Der WEAVE_ERROR ist beim Schließen der Verbindung aufgetreten.

ConnectionAbgeschlossenFunct

void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Diese Funktion ist der Callback der Anwendung, der aufgerufen wird, wenn eine Verbindung eingerichtet wurde.

Details
Parameter
[in] con
Ein Zeiger auf das Objekt WeaveConnection.
[in] conErr
Der WEAVE_ERROR ist während der Verbindungseinrichtung aufgetreten.

NachrichtEmpfangen

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
[in] con
Ein Zeiger auf das Objekt WeaveConnection.
[in] msgInfo
Ein Verweis auf eine WeaveMessageInfo-Struktur mit Informationen zur Nachricht.
[in] msgBuf
Ein Zeiger auf das PacketBuffer-Objekt, das die Nachricht enthält.

NetworkType

 NetworkType

Der Netzwerktyp des Weave-Verbindungsobjekts.

Attribute
kNetworkType_BLE

BLE-Netzwerktyp

kNetworkType_IP

TCP/IP-Netzwerktyp.

kNetworkType_Unassigned

Nicht zugewiesener Netzwerktyp.

EmpfangenFehler

void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)

Diese Funktion ist der Callback der Anwendung, der beim Empfangen einer Weave-Nachricht ausgelöst wird.

Details
Parameter
[in] con
Ein Zeiger auf das Objekt WeaveConnection.
[in] err
Der WEAVE_ERROR ist beim Empfang von Daten über die Verbindung aufgetreten.

Status

 State

Der Status des Weave-Verbindungsobjekts.

Attribute
kState_Closed

Status, wenn die Verbindung geschlossen wird.

kState_Connected

Status, wenn die Verbindung hergestellt wurde

kState_Connecting

Status, wenn versucht wird, eine Verbindung herzustellen.

kState_EstablishingSession

Geben Sie an, dass eine sichere Sitzung eingerichtet 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 getunnelten Datenpakets über die Weave-Verbindung aufgerufen wird.

Details
Parameter
[in] con
Ein Zeiger auf das Objekt WeaveConnection.
[in] msgInfo
Ein Zeiger auf das Objekt WeaveMessageInfo.
[in] msgBuf
Ein Zeiger auf das PacketBuffer-Objekt, das das empfangene getunnelte Paket enthält.

Öffentliche Attribute

App-Status

void * AppState

Ein Zeiger auf das anwendungsspezifische Statusobjekt.

Authentifizierungsmodus

WeaveAuthMode AuthMode

[READ ONLY] Der Authentifizierungsmodus, mit dem die Standardverschlüsselungsschlüssel für die Verbindung erstellt werden.

Standardverschlüsselungstyp

uint8_t DefaultEncryptionType

Der Standardverschlüsselungstyp für Nachrichten.

Standardschlüssel-ID

uint16_t DefaultKeyId

Der standardmäßige Verschlüsselungsschlüssel für das Senden von Nachrichten

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] Das verknüpfte WeaveMessageLayer-Objekt

NetworkType

uint8_t NetworkType

[READ ONLY] Der Netzwerktyp des zugehörigen Endpunkts.

OnConnectionClosed (Verbindung geschlossen)

ConnectionClosedFunct OnConnectionClosed

OnConnectionAbgeschlossen

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError (Fehler beim Empfangen)

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

Peer-Add-in

IPAddress PeerAddr

[READ ONLY] Die IP-Adresse des Peer-Knotens.

PeerNodeID

uint64_t PeerNodeId

[READ ONLY] Die Knotenkennung des Peers.

PeerPort

uint16_t PeerPort

[READ ONLY] Die Portnummer des Peer-Knotens.

Empfangen

bool ReceiveEnabled

[READ ONLY] "True", wenn der Empfang aktiviert ist, andernfalls "False"

SendDestNodeId (SendDestNodeId)

bool SendDestNodeId

True, wenn alle Nachrichten, die über diese Verbindung gesendet werden, eine explizit codierte Zielknoten-ID enthalten müssen, andernfalls False.

SendSourceNodeId (SendSourceNodeId)

bool SendSourceNodeId

True, wenn alle Nachrichten, die über diese Verbindung gesendet werden, eine explizit codierte Quellknoten-ID enthalten müssen, andernfalls False.

Status

uint8_t State

[READ ONLY] Der Status des WeaveConnection-Objekts.

Öffentliche Funktionen

Abbrechen

void Abort(
  void
)

Führt ein nicht ordnungsgemäßes Schließen der TCP- oder BLE-basierten WeaveConnection aus und verwirft alle Daten, die unter Umständen zum oder vom Peer übertragen werden.

Durch den 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() verringert sich die mit dem WeaveConnection-Objekt verknüpfte Referenzanzahl, unabhängig davon, ob die Verbindung zum Zeitpunkt des Methodenaufrufs geöffnet oder aktiv ist. Wenn die Referenzanzahl dabei null erreicht, werden die mit dem Verbindungsobjekt verknüpften Ressourcen freigegeben. In diesem Fall darf die Anwendung keine weiteren Interaktionen mit dem Objekt haben.

Weitere Informationen:
Herunterfahren(), Abort(), AddRef() und Release().

Hinzufügen Ref

void AddRef(
  void
)

Reservieren Sie einen Verweis auf das Objekt WeaveConnection.

Die Methode AddRef() erhöht die mit dem Objekt WeaveConnection verknüpfte Referenzanzahl. Für jeden Aufruf von AddRef() ist die Anwendung für den entsprechenden Aufruf von Release(), Close() oder Abort() verantwortlich.

Schließen

WEAVE_ERROR Close(
  void
)

Führt einen ordnungsgemäßen Abschluss des TCP- oder BLE-basierten WeaveConnection-Elements aus, wobei verbleibende Daten übertragen werden, bevor der Remote-Host höflich darüber informiert wird, dass wir die Verbindung zurückgesetzt haben.

Diese Methode bietet keine starke Garantie dafür, dass ausgehende Nachrichten, die nicht auf Anwendungsprotokollebene bestätigt werden, beim Remote-Peer empfangen wurden. Sowohl für TCP als auch für BLE versucht der zugrunde liegende Protokoll-Stack, alle ausstehenden ausgehenden Daten bereitzustellen, bevor die Verbindung zurückgesetzt wird. Bei TCP sollte Herunterfahren() vor Close() verwendet werden, wenn vor dem Schließen der Verbindung eine Bestätigung der Transportschicht-Nachricht erforderlich ist. BLE-Verbindungen bieten kein Herunterfahren()-Äquivalent.

Bei BLE-basierten Verbindungen schließt Close() WeaveConnection und kehrt sofort zurück. Das zugrunde liegende BLEEndPoint-Objekt bleibt jedoch möglicherweise bestehen, bis alle ausgehenden Daten gesendet wurden. Dies ist ein Nebeneffekt der im Protokoll von Weave BleLayer vorhandenen Implementierung des Transportprotokolls Weave über BLE.

Sobald Close() aufgerufen wurde, kann das Objekt WeaveConnection nicht mehr für die weitere Kommunikation verwendet werden.

Durch den Aufruf von Close() verringert sich die mit dem WeaveConnection-Objekt verknüpfte Referenzanzahl, unabhängig davon, ob die Verbindung zum Zeitpunkt des Methodenaufrufs geöffnet oder aktiv ist. Wenn die Referenzanzahl dabei null erreicht, werden die mit dem Verbindungsobjekt verknüpften Ressourcen freigegeben. In diesem Fall darf die Anwendung keine weiteren Interaktionen mit dem Objekt haben.

Details
Rückgabe
WEAVE_NO_ERROR bedingungslos.
Weitere Informationen:
Herunterfahren(), Abort(), AddRef() und Release().

Schließen

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Führt einen ordnungsgemäßen Abschluss des TCP- oder BLE-basierten WeaveConnection-Elements aus, wobei verbleibende Daten übertragen werden, bevor der Remote-Host höflich darüber informiert wird, dass wir die Verbindung zurückgesetzt haben.

Diese Methode bietet keine starke Garantie dafür, dass ausgehende Nachrichten, die nicht auf Anwendungsprotokollebene bestätigt werden, beim Remote-Peer empfangen wurden. Sowohl für TCP als auch für BLE versucht der zugrunde liegende Protokoll-Stack, alle ausstehenden ausgehenden Daten bereitzustellen, bevor die Verbindung zurückgesetzt wird. Bei TCP sollte Herunterfahren() vor Close() verwendet werden, wenn vor dem Schließen der Verbindung eine Bestätigung der Transportschicht-Nachricht erforderlich ist. BLE-Verbindungen bieten kein Herunterfahren()-Äquivalent.

Bei BLE-basierten Verbindungen schließt Close() WeaveConnection und kehrt sofort zurück. Das zugrunde liegende BLEEndPoint-Objekt bleibt jedoch möglicherweise bestehen, bis alle ausgehenden Daten gesendet wurden. Dies ist ein Nebeneffekt der im Protokoll von Weave BleLayer vorhandenen Implementierung des Transportprotokolls Weave über BLE.

Sobald Close() aufgerufen wurde, kann das Objekt WeaveConnection nicht mehr für die weitere Kommunikation verwendet werden.

Durch den Aufruf von Close() verringert sich die mit dem WeaveConnection-Objekt verknüpfte Referenzanzahl, unabhängig davon, ob die Verbindung zum Zeitpunkt des Methodenaufrufs geöffnet oder aktiv ist. Wenn die Referenzanzahl dabei null erreicht, werden die mit dem Verbindungsobjekt verknüpften Ressourcen freigegeben. In diesem Fall darf die Anwendung keine weiteren Interaktionen mit dem Objekt haben.

Details
Parameter
[in] suppressCloseLog
„true“, wenn Logs unterdrückt werden müssen, andernfalls „false“.
Rückgabe
WEAVE_NO_ERROR bedingungslos.
Weitere Informationen:
Herunterfahren(), Abort(), AddRef() und Release().

Verbinden

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Verbindung zu einem Weave-Knoten über eine Fabric-IP-Adresse herstellen, die von der angegebenen Knoten-ID abgeleitet ist.

Details
Parameter
[in] peerNodeId
Die Knotenkennung des Peers.
Rückgabewerte
WEAVE_NO_ERROR
bei erfolgreicher Initiierung der Verbindung mit dem Peer.
WEAVE_ERROR_INCORRECT_STATE
wenn der WeaveConnection-Status falsch ist.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
Der angeforderte Authentifizierungsmodus wird nicht unterstützt.
WEAVE_ERROR_INVALID_ADDRESS
wenn die Zieladresse nicht aus der Knoten-ID abgeleitet werden kann.
other
Inet-Layer-Fehler, die von den TCPEndPoint-Verbindungsvorgängen generiert wurden.

Verbinden

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort
)

Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder einer IP-Adresse herstellen.

Details
Parameter
[in] peerNodeId
Die Knotenkennung des Peers, kNodeIdNotspecified oder 0, falls nicht bekannt.
[in] peerAddr
Die IP-Adresse des Peers, IPAddress::Beliebig, wenn diese nicht bekannt ist.
[in] peerPort
Der optionale Port des Peers, standardmäßig WEAVE_PORT.
Rückgabewerte
WEAVE_NO_ERROR
bei erfolgreicher Initiierung der Verbindung mit dem Peer.
WEAVE_ERROR_INCORRECT_STATE
wenn der WeaveConnection-Status falsch ist.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
Der angeforderte Authentifizierungsmodus wird nicht unterstützt.
WEAVE_ERROR_INVALID_ADDRESS
wenn die Zieladresse nicht aus der Knoten-ID abgeleitet werden kann.
other
Inet-Layer-Fehler, die von den TCPEndPoint-Verbindungsvorgängen generiert wurden.

Verbinden

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId intf
)

Verbindung zu einem Weave-Knoten über eine Knoten-ID und/oder eine IP-Adresse auf einer bestimmten Schnittstelle herstellen.

Details
Parameter
[in] peerNodeId
Die Knotenkennung des Peers, kNodeIdNotspecified oder 0, falls nicht bekannt.
[in] authMode
Der gewünschte Authentifizierungsmodus für den Peer. Nur die Modi CASE, PASE und nicht authentifiziert werden unterstützt.
[in] peerAddr
Die IP-Adresse des Peers, IPAddress::Beliebig, wenn diese nicht bekannt ist.
[in] peerPort
Der optionale Port des Peers, standardmäßig WEAVE_PORT.
[in] intf
Die optionale Schnittstelle zur Verbindung mit dem Peer-Knoten, standardmäßig INET_NULL_INTERFACEID.
Rückgabewerte
WEAVE_NO_ERROR
bei erfolgreicher Initiierung der Verbindung mit dem Peer.
WEAVE_ERROR_INCORRECT_STATE
wenn der WeaveConnection-Status falsch ist.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
Der angeforderte Authentifizierungsmodus wird nicht unterstützt.
WEAVE_ERROR_INVALID_ADDRESS
wenn die Zieladresse nicht aus der Knoten-ID abgeleitet werden kann.
other
Inet-Layer-Fehler, die von den TCPEndPoint-Verbindungsvorgängen generiert wurden.

Verbinden

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t defaultPort
)

Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder eines String-Hostnamens herstellen.

Wenn ein Peer hinzugefügt wird, kann er einen der folgenden Werte haben:


:

:

[]:

Details
Parameter
[in] peerNodeId
Die Knotenkennung des Peers, kNodeIdNotspecified oder 0, falls nicht bekannt.
[in] authMode
Der gewünschte Authentifizierungsmodus für den Peer. Nur die Modi CASE, PASE und nicht authentifiziert werden unterstützt.
[in] peerAddr
Die Adresse oder der Hostname des Peers als C-String mit dem Wert NULL.
[in] defaultPort
Der optionale Standardport, der für die Verbindung verwendet werden soll, wenn er nicht im String „PeerAddr“ angegeben ist.
Rückgabewerte
WEAVE_NO_ERROR
bei erfolgreicher Initiierung der Verbindung mit dem Peer.
WEAVE_ERROR_INCORRECT_STATE
wenn der WeaveConnection-Status falsch ist.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
Der angeforderte Authentifizierungsmodus wird nicht unterstützt.
WEAVE_ERROR_INVALID_ADDRESS
wenn die Zieladresse nicht aus der Knoten-ID abgeleitet werden kann.
other
Inet-Layer-Fehler, die von den TCPEndPoint-Verbindungsvorgängen generiert wurden.

Verbinden

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint16_t defaultPort
)

Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder einer String-Peer-Adresse herstellen.

Wenn ein Peer hinzugefügt wird, kann er einen der folgenden Werte haben:


:

:

[]:

Details
Parameter
[in] peerNodeId
Die Knotenkennung des Peers, kNodeIdNotspecified oder 0, falls nicht bekannt.
[in] authMode
Der gewünschte Authentifizierungsmodus für den Peer. Nur die Modi CASE, PASE und nicht authentifiziert werden unterstützt.
[in] peerAddr
Die Adresse oder der Hostname des Peers als C-String, der nicht NULL ist.
[in] peerAddrLen
Die Länge des Peering-Strings.
[in] defaultPort
Der optionale Standardport, der für die Verbindung verwendet werden soll, wenn er nicht im String „PeerAddr“ angegeben ist.
Rückgabewerte
WEAVE_NO_ERROR
bei erfolgreicher Initiierung der Verbindung mit dem Peer.
WEAVE_ERROR_INCORRECT_STATE
wenn der WeaveConnection-Status falsch ist.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
Der angeforderte Authentifizierungsmodus wird nicht unterstützt.
WEAVE_ERROR_INVALID_ADDRESS
wenn die Zieladresse nicht aus der Knoten-ID abgeleitet werden kann.
other
Inet-Layer-Fehler, die von den TCPEndPoint-Verbindungsvorgängen generiert wurden.

Verbinden

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint8_t dnsOptions,
  uint16_t defaultPort
)

Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder einer String-Peer-Adresse herstellen.

Wenn ein Peer hinzugefügt wird, kann er einen der folgenden Werte haben:


:

:

[]:

Details
Parameter
[in] peerNodeId
Die Knotenkennung des Peers, kNodeIdNotspecified oder 0, falls nicht bekannt.
[in] authMode
Der gewünschte Authentifizierungsmodus für den Peer. Nur die Modi CASE, PASE und nicht authentifiziert werden unterstützt.
[in] peerAddr
Die Adresse oder der Hostname des Peers als C-String, der nicht NULL ist.
[in] peerAddrLen
Die Länge des Peering-Strings.
[in] dnsOptions
Ein ganzzahliger Wert, der die Auflösung des Hostnamens steuert. Der Wert sollte das OR eines oder mehrerer Werte aus der Aufzählung #::nl::Inet::DNSOptions sein.
[in] defaultPort
Der optionale Standardport, der für die Verbindung verwendet werden soll, wenn er nicht im String „PeerAddr“ angegeben ist.
Rückgabewerte
WEAVE_NO_ERROR
bei erfolgreicher Initiierung der Verbindung mit dem Peer.
WEAVE_ERROR_INCORRECT_STATE
wenn der WeaveConnection-Status falsch ist.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
Der angeforderte Authentifizierungsmodus wird nicht unterstützt.
WEAVE_ERROR_INVALID_ADDRESS
wenn die Zieladresse nicht aus der Knoten-ID abgeleitet werden kann.
other
Inet-Layer-Fehler, die von den TCPEndPoint-Verbindungsvorgängen generiert wurden.

Verbinden

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  InterfaceId intf
)

Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder einer Liste von Hostnamen und Ports herstellen.

Details
Parameter
[in] peerNodeId
Die Knotenkennung des Peers.
[in] authMode
Der für die Verbindung verwendete Authentifizierungsmodus.
[in] hostPortList
Die Liste der Hostnamen und Ports.
[in] intf
Die optionale Schnittstelle zur Verbindung mit dem Peer-Knoten, standardmäßig INET_NULL_INTERFACEID.
Rückgabewerte
WEAVE_NO_ERROR
bei erfolgreicher Initiierung der Verbindung mit dem Peer.
WEAVE_ERROR_INCORRECT_STATE
wenn der WeaveConnection-Status falsch ist.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
Der angeforderte Authentifizierungsmodus wird nicht unterstützt.
WEAVE_ERROR_INVALID_ADDRESS
wenn die Zieladresse nicht aus der Knoten-ID abgeleitet werden kann.
other
Inet-Layer-Fehler, die von den TCPEndPoint-Verbindungsvorgängen generiert wurden.

Verbinden

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  uint8_t dnsOptions,
  InterfaceId intf
)

Verbindung zu einem Weave-Knoten mithilfe einer Knoten-ID und/oder einer Liste von Hostnamen und Ports herstellen.

Details
Parameter
[in] peerNodeId
Die Knotenkennung des Peers.
[in] authMode
Der für die Verbindung verwendete Authentifizierungsmodus.
[in] hostPortList
Die Liste der Hostnamen und Ports.
[in] dnsOptions
Ein ganzzahliger Wert, der die Auflösung des Hostnamens steuert. Der Wert sollte das OR eines oder mehrerer Werte aus der Aufzählung #::nl::Inet::DNSOptions sein.
[in] intf
Die optionale Schnittstelle zur Verbindung mit dem Peer-Knoten, standardmäßig INET_NULL_INTERFACEID.
Rückgabewerte
WEAVE_NO_ERROR
bei erfolgreicher Initiierung der Verbindung mit dem Peer.
WEAVE_ERROR_INCORRECT_STATE
wenn der WeaveConnection-Status falsch ist.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
Der angeforderte Authentifizierungsmodus wird nicht unterstützt.
WEAVE_ERROR_INVALID_ADDRESS
wenn die Zieladresse nicht aus der Knoten-ID abgeleitet werden kann.
other
Inet-Layer-Fehler, die von den TCPEndPoint-Verbindungsvorgängen generiert wurden.

KeepAlive deaktivieren

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive verwenden.

Deaktivieren Sie TCP-Keepalive-Prüfungen für die zugrunde liegende TCP-Verbindung.

Hinweis:Diese Methode kann nur bei einer Weave-Verbindung aufgerufen werden, die von einer TCP-Verbindung unterstützt wird. Diese Methode kann nur aufgerufen werden, wenn die Verbindung den Status „Senden“ hat.

Diese Methode bewirkt nichts, wenn Keepalives für die Verbindung nicht aktiviert sind.

Details
Rückgabewerte
WEAVE_NO_ERROR
zum erfolgreichen Deaktivieren von TCP-Keepalive-Prüfungen für die Verbindung.
WEAVE_ERROR_NOT_IMPLEMENTED
wenn diese Funktion für einen inkompatiblen Endpunkt aufgerufen wird (z.B. BLE).
WEAVE_ERROR_INCORRECT_STATE
wenn das WeaveConnection-Objekt nicht den richtigen Status zum Senden von Nachrichten hat.
other
Einzelne Ebenenfehler im Zusammenhang mit dem TCP-Endpunkt ermöglichen Keepalive-Vorgänge.

Empfang deaktivieren

void DisableReceive(
  void
)

Deaktivieren Sie den Empfang über WeaveConnection.

Diese Methode wird von der Anwendung verwendet, um anzugeben, dass sie keine eingehenden Daten über die TCP-Verbindung empfangen kann. Um den Empfang wieder zu aktivieren, muss die App EnableReceive() aufrufen. So kann WeaveConnection alle empfangenen Daten durch Aufrufen der entsprechenden Callbacks übergeben.

Weitere Informationen:
EnableReceive()

KeepAlive aktivieren

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive aktivieren.

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 die Verbindung den Status "Senden" hat.

Details
Parameter
[in] interval
Das Intervall in Sekunden zwischen Keepalive-Prüfungen. Mit diesem Wert wird auch die Zeit zwischen dem letzten gesendeten Datenpaket und der Übertragung der ersten Keepalive-Prüfung gesteuert.
[in] timeoutCount
Die maximale Anzahl nicht bestätigter Prüfungen, bevor die Verbindung als fehlgeschlagen eingestuft wird.

- Diese Methode kann mehrmals aufgerufen werden, um das Keepalive-Intervall oder das Zeitlimit anzupassen.

Details
Rückgabewerte
WEAVE_NO_ERROR
zum erfolgreichen Aktivieren von TCP-Keepalive-Prüfungen für die Verbindung.
WEAVE_ERROR_NOT_IMPLEMENTED
wenn diese Funktion für einen inkompatiblen Endpunkt aufgerufen wird (z.B. BLE).
WEAVE_ERROR_INCORRECT_STATE
wenn das WeaveConnection-Objekt nicht den richtigen Status zum Senden von Nachrichten hat.
other
Einzelne Ebenenfehler im Zusammenhang mit dem TCP-Endpunkt ermöglichen Keepalive-Vorgänge.

Aktivieren

void EnableReceive(
  void
)

Aktivieren Sie den Empfang über diese WeaveConnection.

Diese Methode wird von der Anwendung verwendet, um dem WeaveConnection-Objekt mitzuteilen, dass es Daten empfangen kann, die über die TCP-Verbindung eingehen.

Weitere Informationen:
DisableReceive()

PeerAddressInfo abrufen

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Rufen Sie die IP-Adressinformationen des Peers ab.

Details
Parameter
[out] addrInfo
Ein Verweis auf das IPPacketInfo-Objekt.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_NOT_IMPLEMENTED
Wenn diese Funktion für einen inkompatiblen Endpunkt aufgerufen wird (z.B. BLE).

Peer-Beschreibung abrufen

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Erstellt einen String, der den mit der Verbindung verknüpften Peer-Knoten beschreibt.

Details
Parameter
[in] buf
Ein Zeiger auf einen Zwischenspeicher, in den der String geschrieben werden soll. Der bereitgestellte Puffer muss mindestens so groß wie „kGetPeerDescription_MaxLength“ sein. Wenn ein kleinerer Puffer angegeben wird, wird der String abgeschnitten. Die Ausgabe enthält in allen Fällen ein NUL-Beendigungszeichen.
[in] bufSize
Die Größe des Zwischenspeichers, auf den buf verweist.

TCP-Endpunkt abrufen

TCPEndPoint * GetTCPEndPoint(
  void
) const 

Ist eingehend

bool IsIncoming(
  void
) const 

Log-ID

uint16_t LogId(
  void
) const 

Veröffentlichung

void Release(
  void
)

Die Anzahl der Verweise auf das Objekt WeaveConnection verringern.

Die Methode Release() verringert den Referenzwert des WeaveConnection-Objekts. Wenn die Referenzanzahl dabei null erreicht, wird die Verbindung beendet und das Verbindungsobjekt freigegeben. In diesem Fall darf die Anwendung keine weiteren Interaktionen mit dem Objekt haben.

Nutzerzeitlimit zurücksetzen

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout fest.

Setzen Sie die Socket-Option für das Zeitlimit des TCP-Nutzers auf den Systemstandard zurück.

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 die Verbindung den Status "Senden" hat.

– Diese Methode bewirkt nichts, wenn für die Verbindung kein Zeitlimit für Nutzer festgelegt wurde.

Details
Rückgabewerte
WEAVE_NO_ERROR
Beim erfolgreichen Zurücksetzen des TCP-Nutzer-Timeouts auf der Verbindung.
WEAVE_ERROR_NOT_IMPLEMENTED
wenn diese Funktion für einen inkompatiblen Endpunkt aufgerufen wird (z.B. BLE).
WEAVE_ERROR_INCORRECT_STATE
wenn das WeaveConnection-Objekt nicht den richtigen Status zum Senden von Nachrichten hat.
other
Einzelne Ebenenfehler, die das Zurücksetzen des TCP-Nutzer-Timeouts durch den TCP-Endpunkt betreffen.

Nachricht senden

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Sende eine Weave-Nachricht über eine bestehende Verbindung.

Details
Parameter
[in] msgInfo
Ein Zeiger auf ein WeaveMessageInfo-Objekt.
[in] msgBuf
Ein Zeiger auf das PacketBuffer-Objekt, das das zu sendende Paket enthält.
Rückgabewerte
WEAVE_NO_ERROR
die an die Netzwerkebene gesendet wurde.
WEAVE_ERROR_INCORRECT_STATE
wenn das WeaveConnection-Objekt nicht den richtigen Status zum Senden von Nachrichten hat.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
Die Zielknoten-ID ist nicht angegeben.
WEAVE_ERROR_SENDING_BLOCKED
Die Nachricht ist zu lang und kann nicht gesendet werden.
other
Inet-Layer-Fehler im Zusammenhang mit den Sendevorgängen des jeweiligen Endpunkts.

Nachricht an Tunnel gesendet

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Funktion zum Senden eines getunnelten Pakets über eine Weave-Verbindung.

Eine getunnelte Weave-Nachricht über eine bestehende Verbindung senden.

Details
Parameter
[in] msgInfo
Ein Zeiger auf ein WeaveMessageInfo-Objekt.
[in] msgBuf
Ein Zeiger auf das PacketBuffer-Objekt, das das zu sendende Paket enthält.
Rückgabewerte
WEAVE_NO_ERROR
die an die Netzwerkebene gesendet wurde.
WEAVE_ERROR_INCORRECT_STATE
wenn das WeaveConnection-Objekt nicht den richtigen Status zum Senden von Nachrichten hat.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
Die Zielknoten-ID ist nicht angegeben.
WEAVE_ERROR_SENDING_BLOCKED
Die Nachricht ist zu lang und kann nicht gesendet werden.
other
Inet-Layer-Fehler im Zusammenhang mit den Sendevorgängen des jeweiligen Endpunkts.

Zeitüberschreitung festlegen

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Legen Sie ein Zeitlimit fest, damit Connect erfolgreich ist oder ein Fehler zurückgegeben wird.

Details
Parameter
[in] connTimeoutMsecs

Zeitüberschreitung bei SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

Legen Sie das Zeitlimit bei Inaktivität für die zugrunde liegende Verbindung auf Netzwerkebene fest.

Details
Parameter
[in] timeoutMS
das Zeitlimit in Millisekunden.
Rückgabewerte
WEAVE_NO_ERROR
bei erfolgreicher Einstellung des Zeitlimits bei Inaktivität für die Verbindung.
WEAVE_ERROR_INCORRECT_STATE
wenn das WeaveConnection-Objekt nicht den richtigen Status für den Empfang von Nachrichten hat.

Eingehend festlegen

void SetIncoming(
  bool val
)

Zeitüberschreitung für Nutzer festlegen

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout festgelegt werden.

Legen Sie die Socket-Option für das Zeitlimit des TCP-Nutzers fest.

Wenn der Wert größer als 0 ist, gibt er die maximale Zeit in Millisekunden an, in der die übertragenen Daten möglicherweise nicht bestätigt werden, bevor TCP die entsprechende Verbindung zwingt. Wenn der Optionswert 0 ist, verwendet TCP den Systemstandard. Weitere Informationen finden Sie unter RFC 5482.

Details
Parameter
[in] userTimeoutMillis
Wert für die Zeitüberschreitung des Ziel-Nutzers in Millisekunden.

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 die Verbindung den Status "Senden" hat.

- Diese Methode kann mehrmals aufgerufen werden, um das Zeitlimit für TCP-Nutzer anzupassen.

Details
Rückgabewerte
WEAVE_NO_ERROR
bei erfolgreicher Einrichtung des TCP-Nutzer-Timeouts für die Verbindung.
WEAVE_ERROR_NOT_IMPLEMENTED
wenn diese Funktion für einen inkompatiblen Endpunkt aufgerufen wird (z.B. BLE).
WEAVE_ERROR_INCORRECT_STATE
wenn das WeaveConnection-Objekt nicht den richtigen Status zum Senden von Nachrichten hat.
other
Einzelne Ebenenfehler, die sich auf die TCP-Endpunkteinstellung des TCP-Nutzer-Timeouts beziehen.

Heruntergefahren

WEAVE_ERROR Shutdown(
  void
)

Führt ein ordnungsgemäßes TCP-Senden aus, um sicherzustellen, dass alle ausgehenden Daten vom TCP-Stack der Peers gesendet und empfangen werden.

Bei den meisten (aber nicht allen) TCP-Implementierungen führt der Empfang eines Sendeabbruchs dazu, dass der Remote-Host auch seine Seite der Verbindung sperrt, wodurch eine Verbindung geschlossen wird. Ein nachfolgender Aufruf von Close() würde die WeaveConnection beenden.

Details
Rückgabewerte
WEAVE_NO_ERROR
beim erfolgreichen Herunterfahren der TCP-Verbindung.
WEAVE_ERROR_NOT_IMPLEMENTED
wenn diese Funktion für einen inkompatiblen Endpunkt aufgerufen wird (z.B. BLE).
WEAVE_ERROR_INCORRECT_STATE
Das Objekt WeaveConnection ist nicht im korrekten Zustand, bevor ein Herunterfahren eingeleitet wird.
other
Inet-Layer-Fehler im Zusammenhang mit dem Herunterfahren von Endpunkten.
Weitere Informationen:
Close() und Abort()