nl:: Weave:: Binding:: Configuration
#include <src/lib/core/WeaveBinding.h>
Stellt eine Schnittstelle zum deklarativen Stil zum Konfigurieren und Vorbereiten eines Binding-Objekts bereit.
Zusammenfassung
Beim Konfigurieren einer Binding müssen Anwendungen mindestens eine Methode aus jeder der folgenden Konfigurationsgruppen aufrufen: Ziel, Transport und Sicherheit. Bei Bedarf können andere Methoden aufgerufen werden, um das Standardverhalten zu überschreiben.
Wenn sich gegenseitig ausschließende Konfigurationen (z.B. Transport_TCP() gefolgt von Transport_UDP()), wobei die letzte aufgerufene Instanz gewinnt.
Öffentliche Funktionen |
|
---|---|
ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
|
Konfigurieren Sie die Bindung so, dass die Kommunikation mit dem Absender einer empfangenen Nachricht zugelassen wird.
|
DNS_Options(uint8_t dnsOptions)
|
Verwenden Sie beim Zuordnen des Hostnamens des Peers die angegebenen DNS-Optionen.
|
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
|
Legen Sie das Standardantwortzeitlimit für Austauschkontexte fest, die aus diesem Binding-Objekt erstellt wurden.
|
GetError(void) const
|
Gibt alle Fehler zurück, die beim Konfigurieren der Binding aufgetreten sind.
|
PrepareBinding(void)
|
Der Prozess zum Vorbereiten der Binding für die Kommunikation mit dem Peer.
|
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
|
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die für eine bestimmte Weave-Anwendungsgruppe verschlüsselt sind.
|
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
|
Legen Sie den angeforderten Authentifizierungsmodus fest, der zur Authentifizierung des Peers verwendet werden soll.
|
Security_CASESession(void)
|
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit einem CASE-Sitzungsschlüssel verschlüsselt sind, der mit dem Peer-Knoten erstellt wurde.
|
Security_EncryptionType(uint8_t aEncType)
|
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit dem angegebenen Nachrichtenverschlüsselungstyp verschlüsselt sind.
|
Security_Key(uint32_t aKeyId)
|
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit einem bestimmten Schlüssel verschlüsselt sind.
|
Security_None(void)
|
Senden und empfangen Sie bei der Kommunikation mit dem Peer unverschlüsselt (d.h.
|
Security_PASESession(uint8_t aPasswordSource)
|
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit einem mit dem Peer-Knoten erstellten PASE-Sitzungsschlüssel verschlüsselt wurden.
|
Security_SharedCASESession(void)
|
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit einem gemeinsamen CASE-Sitzungsschlüssel verschlüsselt sind, der mit dem Nest Core-Router erstellt wurde.
|
Security_SharedCASESession(uint64_t aRouterNodeId)
|
Bei der Kommunikation mit dem Peer können Nachrichten gesendet und empfangen werden, die mit einem freigegebenen CASE-Sitzungsschlüssel, der mit einem bestimmten Routerknoten eingerichtet wurde, verschlüsselt sind.
|
Security_TAKESession()
|
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit einem TAKE-Sitzungsschlüssel verschlüsselt sind, der mit dem Peer-Knoten erstellt wurde.
|
TargetAddress_IP(nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
|
Verwenden Sie bei der Kommunikation mit dem Peer die spezifische IP-Adresse, den Port und die Netzwerkschnittstelle.
|
TargetAddress_IP(const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
|
Verwenden Sie bei der Kommunikation mit dem Peer den spezifischen Hostnamen, den Port und die Netzwerkschnittstelle.
|
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
|
Verwenden Sie bei der Kommunikation mit dem Peer den spezifischen Hostnamen, den Port und die Netzwerkschnittstelle.
|
TargetAddress_WeaveFabric(uint16_t aSubnetId)
|
Verwenden Sie bei der Kommunikation mit dem Peer eine Weave-Fabric-Adresse, die von der Knoten-ID des Peers und einem angegebenen Subnetz abgeleitet wird.
|
TargetAddress_WeaveService(void)
|
Verwenden Sie bei der Kommunikation mit dem Peer eine Weave-Dienststrukturadresse, die von der Knoten-ID des Peers abgeleitet wird.
|
Target_NodeId(uint64_t aPeerNodeId)
|
Konfigurieren Sie die Bindung so, dass sie mit einer bestimmten Weave-Knoten-ID kommuniziert.
|
Target_ServiceEndpoint(uint64_t aPeerNodeId)
|
Konfigurieren Sie die Bindung für die Kommunikation mit einem bestimmten Weave-Dienstendpunkt.
|
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
|
Legen Sie die WRMP-Standardkonfiguration für Austauschkontexte fest, die aus diesem Binding-Objekt erstellt wurden.
|
Transport_ExistingConnection(WeaveConnection *apConnection)
|
Verwenden Sie eine vorhandene Weave-Verbindung, um mit dem Peer zu kommunizieren.
|
Transport_TCP(void)
|
Verwenden Sie TCP, um mit dem Peer zu kommunizieren.
|
Transport_UDP(void)
|
Verwenden Sie UDP, um mit dem Peer zu kommunizieren.
|
Transport_UDP_PathMTU(uint32_t aPathMTU)
|
Legen Sie die erwartete Pfad-MTU für UDP-Pakete fest, die zum Peer übertragen werden.
|
Transport_UDP_WRM(void)
|
Verwenden Sie bei der Kommunikation mit dem Peer das Weave Reliable Messaging-Protokoll.
|
Öffentliche Funktionen
ConfigureFromMessage
Configuration & ConfigureFromMessage( const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo )
Konfigurieren Sie die Bindung so, dass die Kommunikation mit dem Absender einer empfangenen Nachricht zugelassen wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
DNS_Options
Configuration & DNS_Options( uint8_t dnsOptions )
Verwenden Sie beim Zuordnen des Hostnamens des Peers die angegebenen DNS-Optionen.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Exchange_ResponseTimeoutMsec
Configuration & Exchange_ResponseTimeoutMsec( uint32_t aResponseTimeoutMsec )
Legen Sie das Standardantwortzeitlimit für Austauschkontexte fest, die aus diesem Binding-Objekt erstellt wurden.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
GetError
WEAVE_ERROR GetError( void ) const
Gibt alle Fehler zurück, die beim Konfigurieren der Binding aufgetreten sind.
PrepareBinding
WEAVE_ERROR PrepareBinding( void )
Der Prozess zum Vorbereiten der Binding für die Kommunikation mit dem Peer.
Security_AppGroupKey
Configuration & Security_AppGroupKey( uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey )
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die für eine bestimmte Weave-Anwendungsgruppe verschlüsselt sind.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
Ein Verweis auf das Objekt Binding.
|
Security_AuthenticationMode
Configuration & Security_AuthenticationMode( WeaveAuthMode aAuthMode )
Legen Sie den angeforderten Authentifizierungsmodus fest, der zur Authentifizierung des Peers verwendet werden soll.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Objekt Binding.
|
Security_CASESession
Configuration & Security_CASESession( void )
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit einem CASE-Sitzungsschlüssel verschlüsselt sind, der mit dem Peer-Knoten erstellt wurde.
Wenn die erforderliche Sitzung nicht verfügbar ist, wird sie bei der Vorbereitung der Bindung automatisch erstellt.
Details | |
---|---|
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Security_EncryptionType
Configuration & Security_EncryptionType( uint8_t aEncType )
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit dem angegebenen Nachrichtenverschlüsselungstyp verschlüsselt sind.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Objekt Binding.
|
Security_Key
Configuration & Security_Key( uint32_t aKeyId )
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit einem bestimmten Schlüssel verschlüsselt sind.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Objekt Binding.
|
Security_None
Configuration & Security_None( void )
Senden und empfangen Sie bei der Kommunikation mit dem Peer unverschlüsselt (d.h.
ungesicherten Nachrichten angezeigt.
Details | |
---|---|
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Security_PASESession
Configuration & Security_PASESession( uint8_t aPasswordSource )
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit einem mit dem Peer-Knoten erstellten PASE-Sitzungsschlüssel verschlüsselt wurden.
Wenn die erforderliche Sitzung nicht verfügbar ist, wird sie bei der Vorbereitung der Bindung automatisch erstellt.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Security_SharedCASESession
Configuration & Security_SharedCASESession( void )
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit einem gemeinsamen CASE-Sitzungsschlüssel verschlüsselt sind, der mit dem Nest Core-Router erstellt wurde.
Wenn die erforderliche Sitzung nicht verfügbar ist, wird sie bei der Vorbereitung der Bindung automatisch erstellt.
Details | |
---|---|
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Security_SharedCASESession
Configuration & Security_SharedCASESession( uint64_t aRouterNodeId )
Bei der Kommunikation mit dem Peer können Nachrichten gesendet und empfangen werden, die mit einem freigegebenen CASE-Sitzungsschlüssel, der mit einem bestimmten Routerknoten eingerichtet wurde, verschlüsselt sind.
Wenn die erforderliche Sitzung nicht verfügbar ist, wird sie bei der Vorbereitung der Bindung automatisch erstellt.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Security_TAKESession
Configuration & Security_TAKESession()
Senden und empfangen Sie bei der Kommunikation mit dem Peer Nachrichten, die mit einem TAKE-Sitzungsschlüssel verschlüsselt sind, der mit dem Peer-Knoten erstellt wurde.
Wenn die erforderliche Sitzung nicht verfügbar ist, wird sie bei der Vorbereitung der Bindung automatisch erstellt.
Details | |
---|---|
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
TargetAddress_IP
Configuration & TargetAddress_IP( nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId )
Verwenden Sie bei der Kommunikation mit dem Peer die spezifische IP-Adresse, den Port und die Netzwerkschnittstelle.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
TargetAddress_IP
Configuration & TargetAddress_IP( const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId )
Verwenden Sie bei der Kommunikation mit dem Peer den spezifischen Hostnamen, den Port und die Netzwerkschnittstelle.
HINWEIS: Der Aufrufer muss dafür sorgen, dass der angegebene String für den Hostnamen gültig bleibt, bis die Phase zur Bindungsvorbereitung abgeschlossen ist.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
TargetAddress_IP
Configuration & TargetAddress_IP( const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId )
Verwenden Sie bei der Kommunikation mit dem Peer den spezifischen Hostnamen, den Port und die Netzwerkschnittstelle.
HINWEIS: Der Aufrufer muss dafür sorgen, dass der angegebene String für den Hostnamen gültig bleibt, bis die Phase zur Bindungsvorbereitung abgeschlossen ist.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
TargetAddress_WeaveFabric
Configuration & TargetAddress_WeaveFabric( uint16_t aSubnetId )
Verwenden Sie bei der Kommunikation mit dem Peer eine Weave-Fabric-Adresse, die von der Knoten-ID des Peers und einem angegebenen Subnetz abgeleitet wird.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
TargetAddress_WeaveService
Configuration & TargetAddress_WeaveService( void )
Verwenden Sie bei der Kommunikation mit dem Peer eine Weave-Dienststrukturadresse, die von der Knoten-ID des Peers abgeleitet wird.
Details | |
---|---|
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Target_NodeId
Configuration & Target_NodeId( uint64_t aPeerNodeId )
Konfigurieren Sie die Bindung so, dass sie mit einer bestimmten Weave-Knoten-ID kommuniziert.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Target_ServiceEndpoint
Configuration & Target_ServiceEndpoint( uint64_t aPeerNodeId )
Konfigurieren Sie die Bindung für die Kommunikation mit einem bestimmten Weave-Dienstendpunkt.
Sofern nicht anders konfiguriert, wird die Peer-Adresse auf die Weave-Fabric-Adresse des Dienstendpunkts festgelegt.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Transport_DefaultWRMPConfig
Configuration & Transport_DefaultWRMPConfig( const WRMPConfig & aWRMPConfig )
Legen Sie die WRMP-Standardkonfiguration für Austauschkontexte fest, die aus diesem Binding-Objekt erstellt wurden.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Transport_ExistingConnection
Configuration & Transport_ExistingConnection( WeaveConnection *apConnection )
Verwenden Sie eine vorhandene Weave-Verbindung, um mit dem Peer zu kommunizieren.
HINWEIS: Die Anzahl der Verweise auf das Verbindungsobjekt erhöht sich, wenn die Bindungsvorbereitung erfolgreich ist. Daher ist die Anwendung dafür verantwortlich, dass das Verbindungsobjekt bis zu diesem Zeitpunkt aktiv bleibt.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Transport_TCP
Configuration & Transport_TCP( void )
Verwenden Sie TCP, um mit dem Peer zu kommunizieren.
Details | |
---|---|
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Transport_UDP
Configuration & Transport_UDP( void )
Verwenden Sie UDP, um mit dem Peer zu kommunizieren.
Details | |
---|---|
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Transport_UDP_PathMTU
Configuration & Transport_UDP_PathMTU( uint32_t aPathMTU )
Legen Sie die erwartete Pfad-MTU für UDP-Pakete fest, die zum Peer übertragen werden.
Bei einigen Weave-Protokollen wird dies verwendet, um die Nutzlastgröße der Weave-Nachricht dynamisch anzupassen.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|
Transport_UDP_WRM
Configuration & Transport_UDP_WRM( void )
Verwenden Sie bei der Kommunikation mit dem Peer das Weave Reliable Messaging-Protokoll.
Details | |
---|---|
Rückgabe |
Ein Verweis auf das Binding-Objekt.
|