nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
Die Definition der Klasse WeaveMessageLayer, die die Kommunikation mit anderen Weave-Knoten verwaltet.
Zusammenfassung
Dabei wird einer von mehreren InetLayer-Endpunkten verwendet, um einen Kommunikationskanal mit anderen Weave-Knoten einzurichten.
Konstruktoren und Zerstörer |
|
---|---|
WeaveMessageLayer(void)
Der Konstruktor der Weave-Nachrichtenschicht.
|
Öffentliche Typen |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
Typdefvoid(*
Diese Funktion ist der Callback auf höherer Ebene zum Melden eines Fehlers bei der Verarbeitung einer eingehenden TCP-Verbindung. |
CallbackRemovedFunct)(void *listenerState)
|
Typdefvoid(*
Diese Funktion wird zum Entfernen eines Callbacks aufgerufen. |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
Typdefvoid(*
Diese Funktion ist der Callback auf höherer Ebene für die Verarbeitung einer eingehenden TCP-Verbindung. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
Typdefvoid(*
Diese Funktion ist der Callback der Anwendung zum Ändern der Aktivitätsebene der Meldungsnachricht. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
Typdefvoid(*
Diese Funktion ist der Callback auf der höheren Ebene, der beim Empfang einer Weave-Nachricht über UDP aufgerufen wird. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
Typdefvoid(*
Diese Funktion ist der Callback auf höherer Ebene, der bei einem Fehler aufgerufen wird. |
State{
|
enum Der Status von WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
Typdefvoid(*
Diese Funktion ist der Callback auf der höheren Ebene, der beim Empfang eines getunnelten Pakets über einen lokalen UDP-Tunnel aufgerufen wird. |
Öffentliche Attribute |
|
---|---|
AppState
|
void *
Ein Zeiger auf ein anwendungsspezifisches Statusobjekt.
|
ExchangeMgr
|
[READ ONLY] Das verknüpfte Objekt WeaveExchangeManager
|
FabricState
|
[READ ONLY] Das zugehörige WeaveFabricState-Objekt
|
IncomingConIdleTimeout
|
uint32_t
Standardmäßiges Zeitlimit bei Inaktivität (in Millisekunden) für eingehende Verbindungen.
|
Inet
|
InetLayer *
[READ ONLY] Das verknüpfte InetLayer-Objekt
|
IsListening
|
bool
[READ ONLY] True, wenn eingehende Verbindungen/Nachrichten überwacht werden, andernfalls False.
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[READ ONLY] Das verknüpfte Objekt WeaveSecurityManager
|
State
|
uint8_t
[READ ONLY] Der Status des WeaveMessageLayer-Objekts.
|
SystemLayer
|
|
mDropMessage
|
bool
Intern und nur für die Fehlerbehebung. Wenn die Richtlinie konfiguriert ist, wird die Nachricht von WeaveMessageLayer gelöscht und zurückgegeben.
|
Öffentliche Funktionen |
|
---|---|
ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
|
|
CloseEndpoints(void)
|
Schließen Sie alle offenen TCP- und UDP-Endpunkte.
|
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
|
Erstellen Sie einen WeaveConnectionTunnel, indem Sie zwei angegebene WeaveConnections miteinander verbinden.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
Decodieren Sie einen Header einer Weave-Nachrichtenebene von einer empfangenen Weave-Nachricht.
|
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
|
Codieren Sie einen WeaveMessageLayer-Header in einen PacketBuffer.
|
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
Codieren Sie einen Header einer Weave-Nachrichtenebene in einen PacketBuffer.
|
EphemeralUDPPortEnabled(void) const
|
bool
Prüfen Sie, ob lokal initiierte Weave-UDP-Anzeigenplattformen von einem sitzungsspezifischen UDP-Quellport gesendet werden sollen.
|
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
|
void
Rufen Sie die Anzahl der verwendeten WeaveConnections und die Größe des Pools ab.
|
IPv4ListenEnabled(void) const
|
bool
Prüfen Sie, ob WeaveMessageLayer für die Überwachung eingehender Nachrichten über IPv4 konfiguriert ist.
|
IPv6ListenEnabled(void) const
|
bool
Prüfen Sie, ob WeaveMessageLayer für die Überwachung eingehender Nachrichten über IPv4 konfiguriert ist.
|
Init(InitContext *context)
|
Initialisieren Sie das Ebenenobjekt der Weave-Nachricht.
|
IsBoundToLocalIPv4Address(void) const
|
bool
Prüfen Sie, ob WeaveMessageLayer an eine lokale IPv4-Adresse gebunden ist.
|
IsBoundToLocalIPv6Address(void) const
|
bool
Prüfen Sie, ob WeaveMessageLayer an eine lokale IPv6-Adresse gebunden ist.
|
IsMessageLayerActive(void)
|
bool
|
NewConnection(void)
|
Neues WeaveConnection-Objekt aus einem Pool erstellen
|
NewConnectionTunnel(void)
|
Neues WeaveConnectionTunnel-Objekt aus einem Pool erstellen
|
ReEncodeMessage(PacketBuffer *buf)
|
|
RefreshEndpoints(void)
|
Aktualisieren Sie die InetLayer-Endpunkte basierend auf dem aktuellen Status der Netzwerkschnittstellen des Systems.
|
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Sende eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt noch einmal.
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Sende eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt noch einmal.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Sende eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt noch einmal.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Sende eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt noch einmal.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Sende nach der Codierung eine Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt.
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Sende nach der Codierung eine Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt.
|
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Sende nach der Codierung eine Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt.
|
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Funktion zum Senden eines getunnelten Pakets über einen lokalen UDP-Tunnel.
|
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
|
void
Legen Sie einen Anwendungs-Handler fest, der jedes Mal aufgerufen wird, wenn sich die Aktivität der Nachrichtenebene ändert.
|
SetTCPListenEnabled(bool val)
|
void
Aktivieren oder deaktivieren Sie die Überwachung für eingehende TCP-Verbindungen in der WeaveMessageLayer.
|
SetUDPListenEnabled(bool val)
|
void
Aktivieren oder deaktivieren Sie die Überwachung für eingehende UDP-Nachrichten in der WeaveMessageLayer.
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
Fahren Sie WeaveMessageLayer herunter.
|
TCPListenEnabled(void) const
|
bool
Prüfen Sie, ob WeaveMessageLayer für die Überwachung eingehender TCP-Verbindungen konfiguriert ist.
|
UDPListenEnabled(void) const
|
bool
Prüfen Sie, ob WeaveMessageLayer für die Überwachung eingehender UDP-Nachrichten konfiguriert ist.
|
UnsecuredListenEnabled(void) const
|
bool
Aktivieren oder Deaktivieren des Initiierens von Weave-UDP-Austauschen über einen sitzungsspezifischen UDP-Quellport.
|
Öffentliche statische Funktionen |
|
---|---|
GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
|
uint32_t
Ruft die maximale Weave-Nutzlastgröße für eine Nachrichtenkonfiguration und den bereitgestellten PacketBuffer ab.
|
GetPeerDescription(char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
|
void
Erstellt einen String, der einen Peer-Knoten und die zugehörigen Adressen-/Verbindungsinformationen beschreibt.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
Erstellt einen String, der einen Peer-Knoten auf der Grundlage der Informationen beschreibt, die mit einer vom Peer empfangenen Nachricht verknüpft sind.
|
Klassen |
|
---|---|
nl:: |
Die Definition der Klasse InitContext. |
Öffentliche Typen
AnnehmenFehler
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
Diese Funktion ist der Callback auf höherer Ebene zum Melden eines Fehlers bei der Verarbeitung einer eingehenden TCP-Verbindung.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
RückrufEntfernenFunct
void(* CallbackRemovedFunct)(void *listenerState)
Diese Funktion wird zum Entfernen eines Callbacks aufgerufen.
Details | |||
---|---|---|---|
Parameter |
|
VerbindungReceiveFunct
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
Diese Funktion ist der Callback auf höherer Ebene für die Verarbeitung einer eingehenden TCP-Verbindung.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
Diese Funktion ist der Callback der Anwendung zum Ändern der Aktivitätsebene der Meldungsnachricht.
Die Nachrichtenebene gilt als aktiv, wenn es mindestens eine offene Anzeigenplattform oder eine ausstehende Synchronisierungsanfrage für Nachrichtenzähler gibt.
Details | |||
---|---|---|---|
Parameter |
|
NachrichtEmpfangen
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Diese Funktion ist der Callback auf der höheren Ebene, der beim Empfang einer Weave-Nachricht über UDP aufgerufen wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
EmpfangenFehler
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
Diese Funktion ist der Callback auf höherer Ebene, der bei einem Fehler aufgerufen wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Status
State
Der Status von WeaveMessageLayer.
Attribute | |
---|---|
kState_Initialized
|
Status, wenn WeaveMessageLayer initialisiert wird. |
kState_Initializing
|
Status, wenn WeaveMessageLayer gerade initialisiert wird. |
kState_NotInitialized
|
Status, wenn WeaveMessageLayer nicht initialisiert wurde. |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
Diese Funktion ist der Callback auf der höheren Ebene, der beim Empfang eines getunnelten Pakets über einen lokalen UDP-Tunnel aufgerufen wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Öffentliche Attribute
App-Status
void * AppState
Ein Zeiger auf ein anwendungsspezifisches Statusobjekt.
Exchange-mgr
WeaveExchangeManager * ExchangeMgr
[READ ONLY] Das verknüpfte Objekt WeaveExchangeManager
InboundConIdleTimeout
uint32_t IncomingConIdleTimeout
Standardmäßiges Zeitlimit bei Inaktivität (in Millisekunden) für eingehende Verbindungen.
Inet
InetLayer * Inet
[READ ONLY] Das verknüpfte InetLayer-Objekt
Läuft gerade
bool IsListening
[READ ONLY] True, wenn eingehende Verbindungen/Nachrichten überwacht werden, andernfalls False.
Fehler beim Annehmen
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError (Fehler beim Empfangen)
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
SecurityMgr
WeaveSecurityManager * SecurityMgr
[READ ONLY] Das verknüpfte Objekt WeaveSecurityManager
Systemebene
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
Intern und nur für die Fehlerbehebung. Wenn die Richtlinie konfiguriert ist, wird die Nachricht von WeaveMessageLayer gelöscht und zurückgegeben.
Öffentliche Funktionen
ClearUnSecureConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved )
Endpunkte schließen
WEAVE_ERROR CloseEndpoints( void )
Schließen Sie alle offenen TCP- und UDP-Endpunkte.
Abbrechen Sie dann alle offenen WeaveConnections und fahren Sie alle offenen WeaveConnectionTunnel-Objekte herunter.
Weitere Informationen:Herunterfahren().
Tunnel erstellen
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
Erstellen Sie einen WeaveConnectionTunnel, indem Sie zwei angegebene WeaveConnections miteinander verbinden.
Bei erfolgreicher Erstellung werden die TCPEndPoints, die der Komponente WeaveConnection entsprechen, an den WeaveConnectionTunnel übergeben. Andernfalls werden die WeaveConnections geschlossen.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
Header decodieren
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
Decodieren Sie einen Header einer Weave-Nachrichtenebene von einer empfangenen Weave-Nachricht.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve )
Codieren Sie einen WeaveMessageLayer-Header in einen PacketBuffer.
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||
Rückgabewerte |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload )
Codieren Sie einen Header einer Weave-Nachrichtenebene in einen PacketBuffer.
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||
Rückgabewerte |
|
EphemeralUDPPortEnabled
bool EphemeralUDPPortEnabled( void ) const
Prüfen Sie, ob lokal initiierte Weave-UDP-Anzeigenplattformen von einem sitzungsspezifischen UDP-Quellport gesendet werden sollen.
GetConnectionPoolStatistik
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
Rufen Sie die Anzahl der verwendeten WeaveConnections und die Größe des Pools ab.
Details | |||
---|---|---|---|
Parameter |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
Prüfen Sie, ob WeaveMessageLayer für die Überwachung eingehender Nachrichten über IPv4 konfiguriert ist.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
Prüfen Sie, ob WeaveMessageLayer für die Überwachung eingehender Nachrichten über IPv4 konfiguriert ist.
Init
WEAVE_ERROR Init( InitContext *context )
Initialisieren Sie das Ebenenobjekt der Weave-Nachricht.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
IsBoundToLocalIPv4Address
bool IsBoundToLocalIPv4Address( void ) const
Prüfen Sie, ob WeaveMessageLayer an eine lokale IPv4-Adresse gebunden ist.
IsBoundToLocalIPv6Address
bool IsBoundToLocalIPv6Address( void ) const
Prüfen Sie, ob WeaveMessageLayer an eine lokale IPv6-Adresse gebunden ist.
IsMessageLayerActive
bool IsMessageLayerActive( void )
Neue Verbindung
WeaveConnection * NewConnection( void )
Neues WeaveConnection-Objekt aus einem Pool erstellen
Details | |
---|---|
Rückgabe |
einen Zeiger auf das neu erstellte WeaveConnection-Objekt, falls dies erfolgreich war, ansonsten NULL.
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel( void )
Neues WeaveConnectionTunnel-Objekt aus einem Pool erstellen
Details | |
---|---|
Rückgabe |
einen Zeiger auf das neu erstellte WeaveConnectionTunnel-Objekt, wenn dies erfolgreich war, ansonsten NULL.
|
CodiererNachricht
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
Endpunkte aktualisieren
WEAVE_ERROR RefreshEndpoints( void )
Aktualisieren Sie die InetLayer-Endpunkte basierend auf dem aktuellen Status der Netzwerkschnittstellen des Systems.
Details | |||||
---|---|---|---|---|---|
Rückgabewerte |
|
Nachricht erneut senden
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Sende eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt noch einmal.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
Nachricht erneut senden
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Sende eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt noch einmal.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
Nachricht erneut senden
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Sende eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt noch einmal.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
Nachricht erneut senden
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Sende eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt noch einmal.
Hinweis:Wenn die Zieladresse nicht angegeben wurde, versuchen Sie, sie anhand der Knotenkennung im Nachrichtenheader zu ermitteln. Fehlgeschlagen, wenn dies nicht möglich ist – Wenn die Zieladresse eine Fabric-Adresse für die lokale Fabric ist und der Aufrufer die ID des Zielknotens nicht angegeben hat, extrahieren Sie diese aus der Zieladresse.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Nachricht senden
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Sende nach der Codierung eine Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
Nachricht senden
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Sende nach der Codierung eine Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt.
Hinweis:Der verwendete Zielport ist WEAVE_PORT. - Wenn die Zieladresse nicht angegeben wurde, versuchen Sie, sie anhand der Knotenkennung im Nachrichtenheader zu ermitteln. Fehlgeschlagen, wenn dies nicht möglich ist
– Wenn die Zieladresse eine Fabric-Adresse für die lokale Fabric ist und der Aufrufer die ID des Zielknotens nicht angegeben hat, extrahieren Sie diese aus der Zieladresse.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
Nachricht senden
WEAVE_ERROR SendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Sende nach der Codierung eine Weave-Nachricht über den zugrunde liegenden Inetlayer UDP-Endpunkt.
Hinweis: Wenn die Zieladresse nicht angegeben wurde, versuchen Sie, sie anhand der Knotenkennung im Nachrichtenheader zu ermitteln. Fehlgeschlagen, wenn dies nicht möglich ist – Wenn die Zieladresse eine Fabric-Adresse für die lokale Fabric ist und der Aufrufer die ID des Zielknotens nicht angegeben hat, extrahieren Sie diese aus der Zieladresse.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
UDPTunneledMessage senden
WEAVE_ERROR SendUDPTunneledMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Funktion zum Senden eines getunnelten Pakets über einen lokalen UDP-Tunnel.
Eine getunnelte IPv6-Datennachricht über UDP senden.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
SetSignalMessageLayerActivityChanged
void SetSignalMessageLayerActivityChanged( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler )
Legen Sie einen Anwendungs-Handler fest, der jedes Mal aufgerufen wird, wenn sich die Aktivität der Nachrichtenebene ändert.
Insbesondere wird die App jedes Mal benachrichtigt:
- ändert sich die Anzahl der geöffneten Anzeigenplattformen.
- Die Anzahl der ausstehenden Anfragen zur Zählersynchronisierung für Nachrichtenzähler ändert sich von null in mindestens eins und zurück zu null. Der Handler dient als allgemeines Signal und gibt an, ob es noch laufende Weave-Unterhaltungen oder ausstehende Antworten gibt. Der Handler muss nach der Initialisierung von WeaveMessageLayer festgelegt werden. Durch das Herunterfahren von WeaveMessageLayer wird der aktuelle Handler gelöscht.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabewerte |
|
SetTCPListenEnabled
void SetTCPListenEnabled( bool val )
Aktivieren oder deaktivieren Sie die Überwachung für eingehende TCP-Verbindungen in der WeaveMessageLayer.
HINWEIS: RefreshEndpoints()
muss aufgerufen werden, nachdem sich der TCP-Überwachungsstatus geändert hat.
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
Aktivieren oder deaktivieren Sie die Überwachung für eingehende UDP-Nachrichten in der WeaveMessageLayer.
HINWEIS: RefreshEndpoints()
muss aufgerufen werden, nachdem sich der UDP-Überwachungsstatus geändert hat.
FestgelegteVerbindungs-Listener
WEAVE_ERROR SetUnsecuredConnectionListener( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState )
Heruntergefahren
WEAVE_ERROR Shutdown( void )
Fahren Sie WeaveMessageLayer herunter.
Schließen Sie alle offenen Inet-Layer-Endpunkte und setzen Sie alle Callbacks auf höherer Ebene, Mitgliedervariablen und Objekte zurück. Durch den Aufruf von Herunterfahren() wird das Objekt WeaveMessageLayer beendet.
TCPListen aktiviert
bool TCPListenEnabled( void ) const
Prüfen Sie, ob WeaveMessageLayer für die Überwachung eingehender TCP-Verbindungen konfiguriert ist.
UDP anhören
bool UDPListenEnabled( void ) const
Prüfen Sie, ob WeaveMessageLayer für die Überwachung eingehender UDP-Nachrichten konfiguriert ist.
UnsecureListenEnabled
bool UnsecuredListenEnabled( void ) const
Aktivieren oder Deaktivieren des Initiierens von Weave-UDP-Austauschen über einen sitzungsspezifischen UDP-Quellport.
HINWEIS: RefreshEndpoints()
muss aufgerufen werden, nachdem der flüchtige Portstatus geändert wurde. Prüfen Sie, ob die ungeschützte Wiedergabe aktiviert ist.
WeaveMessageLayer
WeaveMessageLayer( void )
Der Konstruktor der Weave-Nachrichtenschicht.
Öffentliche statische Funktionen
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
Ruft die maximale Weave-Nutzlastgröße für eine Nachrichtenkonfiguration und den bereitgestellten PacketBuffer ab.
Die maximale zurückgegebene Nutzlastgröße überschreitet nicht den verfügbaren Speicherplatz für eine Nutzlast im bereitgestellten PacketBuffer.
Wenn die Nachricht UDP ist, führt die maximale zurückgegebene Nutzlastgröße nicht zu einer Weave-Nachricht, die den angegebenen UDP-MTU-Wert nicht überläuft.
Schließlich führt die maximale zurückgegebene Nutzlastgröße nicht zu einer Weave-Nachricht, die die maximale Weave-Nachrichtengröße überschreitet.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
die maximale Weave-Nutzlastgröße.
|
Peer-Beschreibung abrufen
void GetPeerDescription( char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con )
Erstellt einen String, der einen Peer-Knoten und die zugehörigen Adressen-/Verbindungsinformationen beschreibt.
Der generierte String hat das folgende Format:
([ ]: % , con )
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
Peer-Beschreibung abrufen
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
Erstellt einen String, der einen Peer-Knoten auf der Grundlage der Informationen beschreibt, die mit einer vom Peer empfangenen Nachricht verknüpft sind.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|