nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
Die Definition der Klasse WeaveMessageLayer, die die Kommunikation mit anderen Weave-Knoten verwaltet.
Zusammenfassung
Es verwendet einen der InetLayer-Endpunkte, um einen Kommunikationskanal mit anderen Weave-Knoten herzustellen.
Konstruktoren und Zerstörer |
|
---|---|
WeaveMessageLayer(void)
Der Konstruktor der Weave-Nachrichtenschicht.
|
Öffentliche Typen |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
typedefvoid(*
Diese Funktion ist der Callback der höheren Schicht, um einen Fehler bei der Verarbeitung einer eingehenden TCP-Verbindung zu melden. |
CallbackRemovedFunct)(void *listenerState)
|
typedefvoid(*
Diese Funktion wird aufgerufen, um einen Rückruf zu entfernen. |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
typedefvoid(*
Diese Funktion ist der Callback der höheren Schicht für die Verarbeitung einer eingehenden TCP-Verbindung. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
Diese Funktion ist der Anwendungs-Callback zum Melden von Änderungen der Aktivität auf Nachrichtenebene. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
Diese Funktion ist der Callback der höheren Schicht, der beim Empfang einer Weave-Nachricht über UDP aufgerufen wird. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Diese Funktion ist der Rückruf der höheren Schicht, der bei einem Fehler aufgerufen wird. |
State{
|
enum Der Status von WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
Diese Funktion ist der Rückruf der höheren Schicht, der beim Empfang eines getunnelten Pakets über einen lokalen UDP-Tunnel aufgerufen wird. |
Öffentliche Attribute |
|
---|---|
AppState
|
void *
Ein Verweis auf ein anwendungsspezifisches Statusobjekt.
|
ExchangeMgr
|
[LESENUR] Das verknüpfte WeaveExchangeManager-Objekt.
|
FabricState
|
[LESENUR] Das verknüpfte WeaveFabricState-Objekt.
|
IncomingConIdleTimeout
|
uint32_t
Standardzeitlimit bei Inaktivität (in Millisekunden) für eingehende Verbindungen.
|
Inet
|
InetLayer *
[READ ONLY] Das zugehörige InetLayer-Objekt.
|
IsListening
|
bool
[LESENUR] „True“, wenn auf eingehende Verbindungen/Nachrichten gewartet wird, andernfalls „false“.
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[READ ONLY] Das zugehörige Objekt WeaveSecurityManager.
|
State
|
uint8_t
[LESENUR] Der Status des WeaveMessageLayer-Objekts.
|
SystemLayer
|
|
mDropMessage
|
bool
Nur zur internen Verwendung und zur Fehlerbehebung. Wenn diese Option festgelegt ist, verwirft WeaveMessageLayer die Nachricht und gibt sie zurück.
|
Ö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 koppeln.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
Entschlüsselt einen Weave-Nachrichtenschicht-Header aus 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)
|
Codiert einen Weave-Nachrichtenschicht-Header in einen PacketBuffer.
|
EphemeralUDPPortEnabled(void) const
|
bool
Prüfen Sie, ob lokal initiierte Weave-UDP-Austausche von einem sitzungsspezifischen UDP-Quellport gesendet werden sollen.
|
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
|
void
Ruft die Anzahl der verwendeten WeaveConnections und die Größe des Pools ab.
|
IPv4ListenEnabled(void) const
|
bool
Prüfen Sie, ob WeaveMessageLayer so konfiguriert ist, dass eingehende Kommunikation über IPv4 überwacht wird.
|
IPv6ListenEnabled(void) const
|
bool
Prüfen Sie, ob die WeaveMessageLayer so konfiguriert ist, dass sie auf eingehende Kommunikation über IPv4 wartet.
|
Init(InitContext *context)
|
Initialisieren Sie das Weave-Objekt der Nachrichtenschicht.
|
IsBoundToLocalIPv4Address(void) const
|
bool
Prüfen Sie, ob die WeaveMessageLayer an eine lokale IPv4-Adresse gebunden ist.
|
IsBoundToLocalIPv6Address(void) const
|
bool
Prüfen Sie, ob die WeaveMessageLayer an eine lokale IPv6-Adresse gebunden ist.
|
IsMessageLayerActive(void)
|
bool
|
NewConnection(void)
|
Erstellen Sie ein neues WeaveConnection-Objekt aus einem Pool.
|
NewConnectionTunnel(void)
|
Erstellen Sie ein neues WeaveConnectionTunnel-Objekt aus einem Pool.
|
ReEncodeMessage(PacketBuffer *buf)
|
|
RefreshEndpoints(void)
|
Aktualisieren Sie die InetLayer-Endpunkte basierend auf dem aktuellen Status der Netzwerkschnittstellen des Systems.
|
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt noch einmal senden.
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt noch einmal senden.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt noch einmal senden.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt noch einmal senden.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Senden Sie eine Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt, nachdem Sie sie codiert haben.
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Senden Sie eine Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt, nachdem Sie sie codiert haben.
|
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Senden Sie eine Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt, nachdem Sie sie codiert haben.
|
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 Nachrichtenschicht ändert.
|
SetTCPListenEnabled(bool val)
|
void
Aktivieren oder deaktivieren Sie das Warten auf eingehende TCP-Verbindungen in der WeaveMessageLayer.
|
SetUDPListenEnabled(bool val)
|
void
Aktivieren oder deaktivieren Sie das Warten auf eingehende UDP-Nachrichten in WeaveMessageLayer.
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
Fahren Sie WeaveMessageLayer herunter.
|
TCPListenEnabled(void) const
|
bool
Prüfen Sie, ob die WeaveMessageLayer so konfiguriert ist, dass sie auf eingehende TCP-Verbindungen wartet.
|
UDPListenEnabled(void) const
|
bool
Prüfen Sie, ob die WeaveMessageLayer so konfiguriert ist, dass sie auf eingehende UDP-Nachrichten wartet.
|
UnsecuredListenEnabled(void) const
|
bool
Aktivieren oder deaktivieren Sie das Initiieren von Weave-UDP-Austauschen über einen sitzungsspezifischen UDP-Quellport.
|
Öffentliche statische Funktionen |
|
---|---|
GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
|
uint32_t
Die maximale Weave-Nutzlastgröße für eine Nachrichtenkonfiguration und einen bereitgestellten PacketBuffer abrufen
|
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 Adress-/Verbindungsinformationen beschreibt.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
Erstellt einen String, der einen Peer-Knoten beschreibt, basierend auf den Informationen, die mit einer vom Peer empfangenen Nachricht verknüpft sind.
|
Klassen |
|
---|---|
nl:: |
Die Definition der Klasse InitContext. |
Öffentliche Typen
AcceptErrorFunct
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
Diese Funktion ist der Callback der höheren Schicht, um einen Fehler bei der Verarbeitung einer eingehenden TCP-Verbindung zu melden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
CallbackRemovedFunct
void(* CallbackRemovedFunct)(void *listenerState)
Diese Funktion wird aufgerufen, um einen Rückruf zu entfernen.
Details | |||
---|---|---|---|
Parameter |
|
ConnectionReceiveFunct
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
Diese Funktion ist der Callback der höheren Ebene für die Verarbeitung einer eingehenden TCP-Verbindung.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
Diese Funktion ist der Anwendungs-Callback zum Melden von Änderungen der Aktivität auf Nachrichtenebene.
Die Nachrichtenebene gilt als aktiv, wenn es mindestens eine Anfrage für einen offenen Austausch oder eine ausstehende Anfrage zur Synchronisierung von Nachrichtenzählern gibt.
Details | |||
---|---|---|---|
Parameter |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Diese Funktion ist der Callback der höheren Schicht, der beim Empfang einer Weave-Nachricht über UDP aufgerufen wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
Diese Funktion ist der Rückruf der höheren Schicht, der bei einem Fehler aufgerufen wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Status
State
Der Status von WeaveMessageLayer.
Attribute | |
---|---|
kState_Initialized
|
Gibt an, wann die WeaveMessageLayer initialisiert wird. |
kState_Initializing
|
Gibt an, ob die WeaveMessageLayer gerade initialisiert wird. |
kState_NotInitialized
|
Status, wenn die WeaveMessageLayer nicht initialisiert ist. |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
Diese Funktion ist der Rückruf der höheren Schicht, der beim Empfang eines getunnelten Pakets über einen lokalen UDP-Tunnel aufgerufen wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Öffentliche Attribute
AppState
void * AppState
Ein Zeiger auf ein anwendungsspezifisches Statusobjekt.
ExchangeMgr
WeaveExchangeManager * ExchangeMgr
[READ ONLY] Das zugehörige WeaveExchangeManager-Objekt.
IncomingConIdleTimeout
uint32_t IncomingConIdleTimeout
Standardzeitlimit bei Inaktivität (in Millisekunden) für eingehende Verbindungen.
Inet
InetLayer * Inet
[LESENUR] Das zugehörige InetLayer-Objekt.
IsListening
bool IsListening
[LESENUR] „True“, wenn auf eingehende Verbindungen/Nachrichten gewartet wird, andernfalls „false“.
OnAcceptError
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
SecurityMgr
WeaveSecurityManager * SecurityMgr
[READ ONLY] Das zugehörige Objekt WeaveSecurityManager.
SystemLayer
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
Nur zur internen Verwendung und zur Fehlerbehebung. Wenn diese Option festgelegt ist, verwirft WeaveMessageLayer die Nachricht und gibt sie zurück.
Öffentliche Funktionen
ClearUnsecuredConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved )
CloseEndpoints
WEAVE_ERROR CloseEndpoints( void )
Schließen Sie alle offenen TCP- und UDP-Endpunkte.
Brechen Sie dann alle offenen WeaveConnections ab und fahren Sie alle geöffneten WeaveConnectionTunnel-Objekte herunter.
Weitere Informationen:Shutdown().
CreateTunnel
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
Erstellen Sie einen WeaveConnectionTunnel, indem Sie zwei angegebene WeaveConnections zusammenkoppeln.
Nach erfolgreicher Erstellung werden die TCP-Endpunkte, die den Komponentenobjekten WeaveConnection entsprechen, an den WeaveConnectionTunnel übergeben. Andernfalls werden die Weave-Verbindungen geschlossen.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
DecodeHeader
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
Entschlüsselt einen Weave-Nachrichtenschicht-Header aus einer empfangenen Weave-Nachricht.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve )
Codiert eine WeaveMessageLayer-Kopfzeile in einen PacketBuffer.
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||
Rückgabewerte |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload )
Codiert einen Weave-Nachrichtenschicht-Header in einen PacketBuffer.
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||
Rückgabewerte |
|
EphemeralUDPPortEnabled
bool EphemeralUDPPortEnabled( void ) const
Prüfen Sie, ob lokal initiierte Weave-UDP-Austausche von einem sitzungsspezifischen UDP-Quellport gesendet werden sollen.
GetConnectionPoolStats
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
Ruft die Anzahl der verwendeten WeaveConnections und die Größe des Pools ab.
Details | |||
---|---|---|---|
Parameter |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
Prüfen Sie, ob die WeaveMessageLayer so konfiguriert ist, dass sie auf eingehende Kommunikation über IPv4 wartet.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
Prüfen Sie, ob die WeaveMessageLayer so konfiguriert ist, dass sie auf eingehende Kommunikation über IPv4 wartet.
Init
WEAVE_ERROR Init( InitContext *context )
Initialisieren Sie das Weave-Objekt der Nachrichtenschicht.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
IsBoundToLocalIPv4Address
bool IsBoundToLocalIPv4Address( void ) const
Prüfen Sie, ob die WeaveMessageLayer an eine lokale IPv4-Adresse gebunden ist.
IsBoundToLocalIPv6Address
bool IsBoundToLocalIPv6Address( void ) const
Prüfen Sie, ob die WeaveMessageLayer an eine lokale IPv6-Adresse gebunden ist.
IsMessageLayerActive
bool IsMessageLayerActive( void )
NewConnection
WeaveConnection * NewConnection( void )
Erstellen Sie ein neues WeaveConnection-Objekt aus einem Pool.
Details | |
---|---|
Rückgabe |
Einen Zeiger auf das neu erstellte WeaveConnection-Objekt, falls erfolgreich, andernfalls NULL.
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel( void )
Erstellen Sie ein neues WeaveConnectionTunnel-Objekt aus einem Pool.
Details | |
---|---|
Rückgabe |
Ein Verweis auf das neu erstellte WeaveConnectionTunnel-Objekt, falls erfolgreich, andernfalls NULL.
|
ReEncodeMessage
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
RefreshEndpoints
WEAVE_ERROR RefreshEndpoints( void )
Aktualisieren Sie die InetLayer-Endpunkte anhand des aktuellen Status der Netzwerkschnittstellen des Systems.
Details | |||||
---|---|---|---|---|---|
Rückgabewerte |
|
ResendMessage
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt noch einmal senden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt noch einmal senden.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt noch einmal senden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Eine codierte Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt noch einmal senden.
Hinweis:Wenn die Zieladresse nicht angegeben wurde, versuchen Sie, sie anhand der Knotenkennung im Nachrichtenheader zu ermitteln. Andernfalls wird ein Fehler ausgegeben. – Wenn die Zieladresse eine Fabric-Adresse für die lokale Fabric ist und der Aufrufer die Zielknoten-ID nicht angegeben hat, wird sie aus der Zieladresse extrahiert.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
SendMessage
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Senden Sie nach der Codierung eine Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
SendMessage
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Senden Sie eine Weave-Nachricht über den zugrunde liegenden Inetlayer-UDP-Endpunkt, nachdem Sie sie codiert haben.
Hinweis: Der verwendete Zielport ist WEAVE_PORT. – Wenn die Zieladresse nicht angegeben wurde, versuchen Sie, sie anhand der Knoten-ID im Nachrichtenheader zu ermitteln. Andernfalls wird ein Fehler ausgegeben.
– Wenn die Zieladresse eine Fabric-Adresse für die lokale Fabric ist und der Aufrufer die Zielknoten-ID nicht angegeben hat, wird sie aus der Zieladresse extrahiert.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
SendMessage
WEAVE_ERROR SendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Senden Sie 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 Knoten-ID im Nachrichtenheader zu ermitteln. Andernfalls wird ein Fehler ausgegeben. – Wenn die Zieladresse eine Fabric-Adresse für die lokale Fabric ist und der Aufrufer die Zielknoten-ID nicht angegeben hat, wird sie aus der Zieladresse extrahiert.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
SendUDPTunneledMessage
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 Nachrichtenschicht ändert.
Insbesondere wird der Antrag jedes Mal benachrichtigt, wenn
- sich die Anzahl der geöffneten Unterhaltungen ändert.
- die Anzahl der ausstehenden Anfragen zur Synchronisierung des Nachrichtenzählers von null auf mindestens eins und wieder auf null wechselt. Der Handler dient als allgemeines Signal, das angibt, ob es laufende Weave-Unterhaltungen oder ausstehende Antworten gibt. Der Handler muss festgelegt werden, nachdem WeaveMessageLayer initialisiert wurde. Durch Herunterfahren von WeaveMessageLayer wird der aktuelle Handler gelöscht.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabewerte |
|
SetTCPListenEnabled
void SetTCPListenEnabled( bool val )
Aktivieren oder deaktivieren Sie das Warten auf eingehende TCP-Verbindungen in der WeaveMessageLayer.
HINWEIS: RefreshEndpoints()
muss aufgerufen werden, nachdem der TCP-Wartestatus geändert wurde.
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
Aktivieren oder deaktivieren Sie das Zuhören auf eingehende UDP-Nachrichten in der WeaveMessageLayer.
HINWEIS: RefreshEndpoints()
muss aufgerufen werden, nachdem der UDP-Lauschtand geändert wurde.
SetUnsecuredConnectionListener
WEAVE_ERROR SetUnsecuredConnectionListener( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState )
Herunterfahren
WEAVE_ERROR Shutdown( void )
Fahren Sie die WeaveMessageLayer herunter.
Schließen Sie alle offenen Endpunkte der Inet-Schicht, setzen Sie alle Callbacks, Mitgliedsvariablen und Objekte der höheren Schicht zurück. Durch einen Aufruf von Shutdown() wird das WeaveMessageLayer-Objekt beendet.
TCPListenEnabled
bool TCPListenEnabled( void ) const
Prüfen Sie, ob die WeaveMessageLayer so konfiguriert ist, dass sie auf eingehende TCP-Verbindungen wartet.
UDPListenEnabled
bool UDPListenEnabled( void ) const
Prüfen Sie, ob WeaveMessageLayer so konfiguriert ist, dass eingehende UDP-Nachrichten abgehört werden.
UnsecuredListenEnabled
bool UnsecuredListenEnabled( void ) const
Aktivieren oder deaktivieren Sie das Initiieren von Weave-UDP-Austauschen über einen sitzungsspezifischen UDP-Quellport.
HINWEIS: RefreshEndpoints()
muss aufgerufen werden, nachdem der Status des sitzungsspezifischen Ports geändert wurde. Prüfen Sie, ob die ungesicherte 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 )
Die maximale Weave-Nutzlastgröße für eine Nachrichtenkonfiguration und einen bereitgestellten PacketBuffer abrufen
Die zurückgegebene maximale Nutzlastgröße überschreitet nicht den verfügbaren Speicherplatz für eine Nutzlast im bereitgestellten PacketBuffer.
Wenn die Nachricht UDP ist, führt die zurückgegebene maximale Nutzlastgröße nicht zu einer Weave-Nachricht, die nicht die angegebene UDP-MTU überläuft.
Die zurückgegebene maximale Nutzlastgröße führt nicht zu einer Weave-Nachricht, die die maximale Weave-Nachrichtengröße überschreitet.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
die maximale Weave-Nutzlastgröße.
|
GetPeerDescription
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 Adress-/Verbindungsinformationen beschreibt.
Der generierte String hat folgendes Format:
([ ]: % , con )
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
Erstellt einen String, der einen Peer-Knoten beschreibt, basierend auf den Informationen, die mit einer vom Peer empfangenen Nachricht verknüpft sind.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|