nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
Die Definition der WeaveMessageLayer-Klasse, 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 Weave Message Layer-Konstruktor.
|
Öffentliche Typen |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
typedefvoid(*
Diese Funktion ist das Callback auf höherer Ebene, mit dem während der Verarbeitung einer eingehenden TCP-Verbindung ein Fehler gemeldet wird. |
CallbackRemovedFunct)(void *listenerState)
|
typedefvoid(*
Diese Funktion wird zum Entfernen eines Callbacks aufgerufen. |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
typedefvoid(*
Diese Funktion ist der Callback auf höherer Ebene für die Verarbeitung einer eingehenden TCP-Verbindung. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
Diese Funktion ist der Anwendungs-Callback für die Meldung von Aktivitätsänderungen auf Nachrichtenebene. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
Diese Funktion ist ein Callback auf höherer Ebene, der beim Empfang einer Weave-Nachricht über UDP aufgerufen wird. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Bei dieser Funktion handelt es sich um den Callback auf höherer Ebene, der beim Auftreten eines Fehlers aufgerufen wird. |
State{
|
enum Der Status von WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
Diese Funktion ist ein Callback auf höherer 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 WeaveExchangeManager-Objekt.
|
FabricState
|
[READ ONLY] Das zugehörige WeaveFabricState-Objekt.
|
IncomingConIdleTimeout
|
uint32_t
Standardzeitlimit bei Inaktivität (in Millisekunden) für eingehende Verbindungen.
|
Inet
|
InetLayer *
[READ ONLY] Das verknüpfte InetLayer-Objekt.
|
IsListening
|
bool
[READ ONLY] „True“, wenn auf eingehende Verbindungen/Nachrichten überwacht wird, andernfalls „false“.
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[READ ONLY] Das zugehörige WeaveSecurityManager-Objekt.
|
State
|
uint8_t
[READ ONLY] Der Status des WeaveMessageLayer-Objekts.
|
SystemLayer
|
|
mDropMessage
|
bool
Intern und nur zur Fehlerbehebung. Wenn diese Einstellung aktiviert ist, löscht WeaveMessageLayer die Nachricht und kehrt 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 koppeln.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
Ebenenheader einer Weave-Nachricht aus einer empfangenen Weave-Nachricht decodieren.
|
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 Weave Message-Layer-Header in einen PacketBuffer.
|
EphemeralUDPPortEnabled(void) const
|
bool
Prüfen Sie, ob lokal initiierte Weave UDP-Austausche über einen 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
Überprüfen Sie, ob WeaveMessageLayer so konfiguriert ist, dass eingehende Kommunikation über IPv4 überwacht wird.
|
IPv6ListenEnabled(void) const
|
bool
Überprüfen Sie, ob WeaveMessageLayer so konfiguriert ist, dass eingehende Kommunikation über IPv4 überwacht wird.
|
Init(InitContext *context)
|
Initialisieren Sie das Weave Message Layer-Objekt.
|
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)
|
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)
|
Mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt eine codierte Weave-Nachricht noch einmal senden.
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt eine codierte Weave-Nachricht noch einmal senden.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt eine codierte Weave-Nachricht noch einmal senden.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt eine codierte Weave-Nachricht noch einmal senden.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Senden Sie nach der Codierung eine Weave-Nachricht mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt.
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Senden Sie nach der Codierung eine Weave-Nachricht mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt.
|
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Senden Sie nach der Codierung eine Weave-Nachricht mit dem 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 Nachrichtenschicht ändert.
|
SetTCPListenEnabled(bool val)
|
void
Aktivieren oder deaktivieren Sie die Überwachung eingehender TCP-Verbindungen in WeaveMessageLayer.
|
SetUDPListenEnabled(bool val)
|
void
Aktiviert oder deaktiviert das Überwachen eingehender UDP-Nachrichten in WeaveMessageLayer.
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
Fahren Sie WeaveMessageLayer herunter.
|
TCPListenEnabled(void) const
|
bool
Überprüfen Sie, ob WeaveMessageLayer so konfiguriert ist, dass eingehende TCP-Verbindungen überwacht werden.
|
UDPListenEnabled(void) const
|
bool
Überprüfen Sie, ob WeaveMessageLayer auf eingehende UDP-Nachrichten konfiguriert ist.
|
UnsecuredListenEnabled(void) const
|
bool
Initiieren von Weave UDP-Austauschen über einen sitzungsspezifischen UDP-Quellport aktivieren oder deaktivieren.
|
Ö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 Adress-/Verbindungsinformationen beschreibt.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
Konstruiert einen String, der einen Peer-Knoten anhand der Informationen beschreibt, die mit einer vom Peer empfangenen Nachricht verknüpft sind.
|
Kurse |
|
---|---|
nl:: |
Die Definition der InitContext-Klasse. |
Öffentliche Typen
AcceptErrorFunct
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
Diese Funktion ist das Callback auf höherer Ebene, mit dem während der Verarbeitung einer eingehenden TCP-Verbindung ein Fehler gemeldet wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
CallbackRemovedFunct
void(* CallbackRemovedFunct)(void *listenerState)
Diese Funktion wird zum Entfernen eines Callbacks aufgerufen.
Details | |||
---|---|---|---|
Parameter |
|
ConnectionReceiveFunct
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 Anwendungs-Callback für die Meldung von Aktivitätsänderungen auf Nachrichtenebene.
Die Nachrichtenebene gilt als aktiv, wenn mindestens eine offene Austauschanfrage oder eine ausstehende Synchronisierungsanfrage für einen Nachrichtenzähler vorhanden ist.
Details | |||
---|---|---|---|
Parameter |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Diese Funktion ist ein Callback auf höherer Ebene, der beim Empfang einer Weave-Nachricht über UDP aufgerufen wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
Bei dieser Funktion handelt es sich um den Callback auf höherer Ebene, der beim Auftreten eines Fehlers 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 ist. |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
Diese Funktion ist ein Callback auf höherer Ebene, 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 verknüpfte WeaveExchangeManager-Objekt.
IncomingConIdleTimeout
uint32_t IncomingConIdleTimeout
Standardzeitlimit bei Inaktivität (in Millisekunden) für eingehende Verbindungen.
Inet
InetLayer * Inet
[READ ONLY] Das verknüpfte InetLayer-Objekt.
IsListening
bool IsListening
[READ ONLY] „True“, wenn auf eingehende Verbindungen/Nachrichten überwacht 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 WeaveSecurityManager-Objekt.
SystemLayer
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
Intern und nur zur Fehlerbehebung. Wenn diese Einstellung aktiviert ist, löscht WeaveMessageLayer die Nachricht und kehrt 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.
Siehe auch:Herunterfahren().
CreateTunnel
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
Erstellen Sie einen WeaveConnectionTunnel, indem Sie zwei angegebene WeaveConnections koppeln.
Bei erfolgreicher Erstellung werden die TCPEndPoints, die der Komponente WeaveConnection-Objekte entsprechen, an den WeaveConnectionTunnel übergeben. Andernfalls werden die WeaveConnections geschlossen.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
DecodeHeader
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
Ebenenheader einer Weave-Nachricht aus einer empfangenen Weave-Nachricht decodieren.
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 Weave Message-Layer-Header in einen PacketBuffer.
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||
Rückgabewerte |
|
EphemeralUDPPortEnabled
bool EphemeralUDPPortEnabled( void ) const
Prüfen Sie, ob lokal initiierte Weave UDP-Austausche über einen sitzungsspezifischen UDP-Quellport gesendet werden sollen.
GetConnectionPoolStats
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
Überprüfen Sie, ob WeaveMessageLayer so konfiguriert ist, dass eingehende Kommunikation über IPv4 überwacht wird.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
Überprüfen Sie, ob WeaveMessageLayer so konfiguriert ist, dass eingehende Kommunikation über IPv4 überwacht wird.
Init
WEAVE_ERROR Init( InitContext *context )
Initialisieren Sie das Weave Message Layer-Objekt.
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 )
NewConnection
WeaveConnection * NewConnection( void )
Erstellen Sie ein neues WeaveConnection-Objekt aus einem Pool.
Details | |
---|---|
Rückgabe |
Bei Erfolg einen Zeiger auf das neu erstellte WeaveConnection-Objekt, andernfalls NULL.
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel( void )
Erstellen Sie ein neues WeaveConnectionTunnel-Objekt aus einem Pool.
Details | |
---|---|
Rückgabe |
Ein Zeiger auf das neu erstellte WeaveConnectionTunnel-Objekt, falls der Vorgang erfolgreich war, andernfalls NULL.
|
ReEncodeMessage
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
RefreshEndpoints
WEAVE_ERROR RefreshEndpoints( void )
Aktualisieren Sie die InetLayer-Endpunkte basierend auf dem aktuellen Status der Netzwerkschnittstellen des Systems.
Details | |||||
---|---|---|---|---|---|
Rückgabewerte |
|
ResendMessage
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt eine codierte Weave-Nachricht noch einmal senden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt eine codierte Weave-Nachricht noch einmal senden.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt eine codierte Weave-Nachricht noch einmal senden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt eine codierte Weave-Nachricht noch einmal senden.
Hinweis:Wenn die Zieladresse nicht angegeben wurde, versuchen Sie, sie anhand der Knotenkennung im Nachrichtenheader zu ermitteln. Wenn dies nicht möglich ist, schlagen Sie fehl. - Wenn die Zieladresse eine Fabric-Adresse für die lokale Struktur ist und der Aufrufer die ID des Zielknotens nicht angegeben hat, extrahieren Sie diese aus der Zieladresse.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
SendMessage
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Senden Sie nach der Codierung eine Weave-Nachricht mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
SendMessage
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Senden Sie nach der Codierung eine Weave-Nachricht mit dem 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. Wenn dies nicht möglich ist, schlagen Sie fehl.
- Wenn die Zieladresse eine Fabric-Adresse für die lokale Struktur ist und der Aufrufer die ID des Zielknotens nicht angegeben hat, extrahieren Sie diese aus der Zieladresse.
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 mit dem zugrunde liegenden Inetlayer-UDP-Endpunkt.
Hinweis:Wenn die Zieladresse nicht angegeben wurde, versuchen Sie, sie anhand der Knotenkennung im Nachrichtenheader zu ermitteln. Wenn dies nicht möglich ist, schlagen Sie fehl. - Wenn die Zieladresse eine Fabric-Adresse für die lokale Struktur ist und der Aufrufer die ID des Zielknotens nicht angegeben hat, extrahieren Sie diese aus der Zieladresse.
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.
Senden Sie eine getunnelte IPv6-Datennachricht über UDP.
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.
Die Bewerbung wird jedes Mal benachrichtigt:
- ändert sich die Anzahl der geöffneten Anzeigenplattformen.
- Die Anzahl der ausstehenden Synchronisierungsanfragen für Nachrichtenzähler ändert sich von null auf mindestens eins und wieder zurück auf null. Der Handler wird als allgemeines Signal verwendet, das angibt, ob laufende Weave-Unterhaltungen oder ausstehende Antworten vorliegen. Der Handler muss festgelegt werden, nachdem WeaveMessageLayer initialisiert wurde. Wenn Sie WeaveMessageLayer beenden, wird der aktuelle Handler gelöscht.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabewerte |
|
SetTCPListenEnabled
void SetTCPListenEnabled( bool val )
Aktivieren oder deaktivieren Sie die Überwachung eingehender TCP-Verbindungen in WeaveMessageLayer.
HINWEIS: RefreshEndpoints()
muss aufgerufen werden, nachdem der TCP-Überwachungsstatus geändert wurde.
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
Aktiviert oder deaktiviert das Überwachen eingehender UDP-Nachrichten in WeaveMessageLayer.
HINWEIS: RefreshEndpoints()
muss aufgerufen werden, nachdem der UDP-Überwachungsstatus geändert wurde.
SetUnsecuredConnectionListener
WEAVE_ERROR SetUnsecuredConnectionListener( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState )
Herunterfahren
WEAVE_ERROR Shutdown( void )
Fahren Sie WeaveMessageLayer herunter.
Schließen Sie alle geöffneten Inet-Ebenenendpunkte und setzen Sie alle Rückrufe auf höherer Ebene, Mitgliedervariablen und Objekte zurück. Ein Aufruf von Herunterfahren() beendet das WeaveMessageLayer-Objekt.
TCPListenEnabled
bool TCPListenEnabled( void ) const
Überprüfen Sie, ob WeaveMessageLayer so konfiguriert ist, dass eingehende TCP-Verbindungen überwacht werden.
UDPListenEnabled
bool UDPListenEnabled( void ) const
Überprüfen Sie, ob WeaveMessageLayer auf eingehende UDP-Nachrichten konfiguriert ist.
UnsecuredListenEnabled
bool UnsecuredListenEnabled( void ) const
Initiieren von Weave UDP-Austauschen über einen sitzungsspezifischen UDP-Quellport aktivieren oder deaktivieren.
HINWEIS: RefreshEndpoints()
muss aufgerufen werden, nachdem der Status des sitzungsspezifischen Ports geändert wurde. Prüfen Sie, ob das ungesicherte Hören aktiviert ist.
WeaveMessageLayer
WeaveMessageLayer( void )
Der Weave Message Layer-Konstruktor.
Ö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 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 über die angegebene UDP-MTU hinausgeht.
Schließlich führt die zurückgegebene maximale Nutzlastgröße nicht zu einer Weave-Nachricht, die die maximale Weave-Nachrichtengröße überläuft.
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 )
Konstruiert einen String, der einen Peer-Knoten anhand der Informationen beschreibt, die mit einer vom Peer empfangenen Nachricht verknüpft sind.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|