nl:: Weave:: ExchangeContext
#include <src/lib/core/WeaveExchangeMgr.h>
Diese Klasse stellt eine laufende Unterhaltung (ExchangeContext) zwischen zwei oder mehr Knoten dar.
Zusammenfassung
Sie definiert Methoden zur Codierung und Kommunikation von Weave-Nachrichten in einem ExchangeContext über verschiedene Transportmechanismen, z. B. TCP, UDP oder Weave Reliable Messaging.
Öffentliche Typen |
|
---|---|
@34{
|
enum |
@35{
|
enum |
ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der aufzurufen ist, wenn eine vorhandene Weave-Verbindung geschlossen wurde. |
KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
|
typedef.void(*
Typ der Funktion zur Verarbeitung wichtiger Fehlermeldungen. |
MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback zur Verarbeitung einer empfangenen Weave-Nachricht. |
ResponseTimeoutFunct)(ExchangeContext *ec)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der ausgelöst wird, wenn das Zeitlimit für den Empfang einer Antwortnachricht abgelaufen ist. |
RetransmissionTimeoutFunct)(ExchangeContext *ec)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der ausgelöst wird, wenn das Zeitlimit für die erneute Übertragung einer zuvor gesendeten Nachricht abgelaufen ist. |
Timeout
|
typedef.uint32_t
Typ, mit dem das Zeitlimit in diesem ExchangeContext in Millisekunden ausgedrückt wird. |
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der ausgelöst wird, wenn eine Bestätigung für eine Weave-Nachricht eingeht, die eine Bestätigung als Teil des Weave Reliable Messaging Protocol angefordert hat. |
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der ausgelöst wird, wenn eine Throttle-Nachricht oder Delayed Delivery-Nachricht als Teil des Weave Reliable Messaging Protocol eingeht. |
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
|
typedef.void(*
Diese Funktion ist der Anwendungs-Callback, der aufgerufen wird, wenn beim Senden einer Weave-Nachricht ein Fehler auftritt. |
Öffentliche Attribute |
|
---|---|
AllowDuplicateMsgs
|
bool
Boolescher Indikator, der angibt, ob doppelte Nachrichten für einen bestimmten Austausch zulässig sind.
|
AppState
|
void *
Zeiger auf anwendungsspezifisches Statusobjekt.
|
Con
|
[READ ONLY] Verknüpfte Weave-Verbindung.
|
EncryptionType
|
uint8_t
Verschlüsselungstyp, der beim Senden einer Nachricht verwendet werden soll.
|
ExchangeId
|
uint16_t
[READ ONLY] ID der zugewiesenen Anzeigenplattform.
|
ExchangeMgr
|
[READ ONLY] Inhaber der Anzeigenplattform.
|
KeyId
|
uint16_t
Verschlüsselungsschlüssel zum Senden einer Nachricht.
|
OnAckRcvd
|
Anwendungs-Callback für empfangene Bestätigung.
|
OnConnectionClosed
|
|
OnDDRcvd
|
Anwendungsrückruf für empfangene Nachricht zur verzögerten Zustellung.
|
OnKeyError
|
Diese Funktion ist der Anwendungs-Callback, der aufzurufen ist, wenn vom Peer eine wichtige Fehlermeldung empfangen wurde.
|
OnMessageReceived
|
|
OnResponseTimeout
|
|
OnRetransmissionTimeout
|
|
OnSendError
|
Anwendungs-Callback für Fehler beim Senden.
|
OnThrottleRcvd
|
Anwendungs-Callback für empfangene Throttle-Nachricht.
|
PeerAddr
|
IPAddress
[READ ONLY] IP-Adresse des Peer-Knotens.
|
PeerIntf
|
InterfaceId
[READ ONLY] Ausgehende Schnittstelle zum Senden von Nachrichten an den Peer.
|
PeerNodeId
|
uint64_t
[READ ONLY] Knoten-ID des Peer-Knotens.
|
PeerPort
|
uint16_t
[READ ONLY] Port des Peer-Knotens.
|
ResponseTimeout
|
Maximale Wartezeit auf eine Antwort (in Millisekunden); 0 deaktiviert die Zeitüberschreitung für Antworten.
|
RetransInterval
|
uint32_t
Zeit zwischen erneuten Übertragungen (in Millisekunden); 0 deaktiviert die erneute Übertragung.
|
mMsgProtocolVersion
|
uint16_t
Message Protocol-Version für ExchangeContext.
|
mWRMPConfig
|
WRMP-Konfiguration.
|
Öffentliche Funktionen |
|
---|---|
Abort(void)
|
void
Abbrechen des Exchange-Kontexts und Freigabe aller Verweise darauf.
|
AddRef(void)
|
void
Erhöht den Referenzzähler für den Exchange-Kontext um eins.
|
AutoRequestAck() const
|
bool
Gibt zurück, ob beim Senden einer Nachricht eine Bestätigung angefordert wird.
|
CancelRetrans(void)
|
void
Den Übertragungsmechanismus von „Trickle“ abbrechen.
|
Close(void)
|
void
Exchange-Kontext ordnungsgemäß schließen
|
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
|
Codieren Sie den Exchange-Header in einem Nachrichtenpuffer.
|
GetAutoReleaseKey() const
|
bool
Gibt an, ob der mit dem Exchange verknüpfte Verschlüsselungsschlüssel freigegeben werden soll, wenn der Austausch freigegeben wird.
|
GetCurrentRetransmitTimeout(void)
|
uint32_t
Ruft das aktuelle Zeitlimit für die erneute Übertragung ab.
|
GetPeerDescription(char *buf, uint32_t bufSize) const
|
void
Erstellt einen String, der den Peer-Knoten und die zugehörigen Adress-/Verbindungsinformationen beschreibt.
|
HandleTrickleMessage(const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
|
void
Verarbeiten Sie Trickle-Nachrichten im Austauschkontext.
|
HasPeerRequestedAck(void) const
|
bool
Ermitteln Sie, ob Peer für mindestens eine Nachricht in diesem Austausch eine Bestätigung angefordert hat.
|
HasRcvdMsgFromPeer(void) const
|
bool
Ermitteln Sie, ob auf diesem Austausch mindestens eine Nachricht von einem Peer empfangen wurde.
|
IsAckPending(void) const
|
bool
Prüfen Sie, ob bereits eine Bestätigung zum Senden an den Peer auf dieser Anzeigenplattform aussteht.
|
IsConnectionClosed(void) const
|
bool
Prüfen Sie, ob eine aktive WeaveConnection mit ExchangeContext verknüpft ist.
|
IsInitiator(void) const
|
bool
Ermitteln Sie, ob der Kontext der Initiator des Austauschs ist.
|
IsResponseExpected(void) const
|
bool
Hier können Sie festlegen, ob für Nachrichten, die über diesen Austausch gesendet werden, eine Antwort erwartet wird.
|
Release(void)
|
void
Releasereferenz zu diesem Austauschkontext.
|
SendCommonNullMessage(void)
|
Eine Common::Null-Nachricht senden.
|
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
|
Senden Sie in diesem Austausch eine Weave-Nachricht.
|
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
|
Senden Sie in diesem Austausch eine Weave-Nachricht.
|
SetAckPending(bool inAckPending)
|
void
Legt fest, ob eine Bestätigung an den Peer auf dieser Anzeigenplattform zurückgesendet werden muss.
|
SetAutoReleaseKey(bool autoReleaseKey)
|
void
Legen Sie fest, ob der mit dem Exchange verknüpfte Verschlüsselungsschlüssel freigegeben werden soll, wenn der Datenpool freigegeben wird.
|
SetAutoRequestAck(bool autoReqAck)
|
void
Legen Sie fest, ob beim Senden einer Nachricht eine Bestätigung angefordert werden soll.
|
SetConnectionClosed(bool inConnectionClosed)
|
void
Legen Sie das Bit für das Flag kFlagConnectionClosed fest.
|
SetDropAck(bool inDropAck)
|
void
Legen Sie fest, ob WeaveExchangeManager für diesen Kontext keine Bestätigungen senden soll.
|
SetInitiator(bool inInitiator)
|
void
Legen Sie das kFlagInitiator-Flag-Bit fest.
|
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
|
void
Legt fest, ob eine Nachricht vom Peer auf dieser Anzeigenplattform empfangen wurde.
|
SetPeerRequestedAck(bool inPeerRequestedAck)
|
void
Legt fest, ob in der letzten Nachricht, die in diesem Austausch empfangen wurde, eine Bestätigung angefordert wurde.
|
SetResponseExpected(bool inResponseExpected)
|
void
Legen Sie fest, ob in diesem Austausch eine Antwort erwartet wird.
|
SetShouldAutoReleaseConnection(bool autoReleaseCon)
|
void
Legen Sie fest, ob die mit der Anzeigenplattform verknüpfte Weave-Verbindung getrennt werden soll, wenn die Börse freigegeben wird.
|
SetupTrickleRetransmit(uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
|
Richten Sie den Mechanismus für die erneute Übertragung ein, indem Sie das entsprechende Wiederholungsintervall und den Grenzwert für die erneute Übertragung festlegen.
|
ShouldAutoReleaseConnection() const
|
bool
Gibt zurück, ob die mit dem Exchange verknüpfte Weave-Verbindung getrennt werden soll, wenn der Austausch freigegeben wird.
|
ShouldDropAck(void) const
|
bool
Legen Sie fest, ob WeaveExchangeManager keine Bestätigung senden soll.
|
StartTimerT(void)
|
Starten Sie den Timer-Mechanismus des Trickle-Rebroadcast-Algorithmus für eine erneute Übertragung.
|
TeardownTrickleRetransmit(void)
|
void
Löschen Sie den Übertragungsmechanismus von Trickle, indem Sie die regelmäßigen Timer in Trickle abbrechen und den Nachrichtenpuffer mit der Weave-Nachricht freigeben.
|
UseEphemeralUDPPort(void) const
|
bool
Gibt zurück, ob ausgehende Nachrichten, die über den Exchange gesendet wurden, über den lokalen sitzungsspezifischen UDP-Port gesendet werden sollen.
|
WRMPFlushAcks(void)
|
|
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
|
Senden Sie eine Nachricht mit verzögerter Zustellung, um einen Absenderknoten darüber zu informieren, dass es bei der zuvor gesendeten Nachricht zu einer erwarteten Verzögerung kommen würde, bevor sie an den Empfänger zugestellt wird.
|
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
|
Senden Sie eine Throttle Flow-Nachricht an den Peer-Knoten und fordern Sie ihn auf, das Senden von Nachrichten zu drosseln.
|
Öffentliche Typen
@34
@34
Attribute | |
---|---|
kSendFlag_AlreadyEncoded
|
Wird verwendet, um anzuzeigen, dass die Nachricht bereits codiert ist. |
kSendFlag_AutoRetrans
|
Wird verwendet, um anzuzeigen, dass die automatische erneute Übertragung aktiviert ist. |
kSendFlag_DefaultMulticastSourceAddress
|
Gibt an, dass beim Senden von IPv6-Multicast-Nachrichten die standardmäßige IPv6-Quelladresse ausgewählt werden soll. |
kSendFlag_DelaySend
|
Wird verwendet, um anzuzeigen, dass das Senden der aktuellen Nachricht verzögert werden muss. |
kSendFlag_ExpectResponse
|
Wird verwendet, um anzuzeigen, dass eine Antwort innerhalb eines bestimmten Zeitlimits erwartet wird. |
kSendFlag_FromInitiator
|
Wird verwendet, um anzugeben, dass die aktuelle Nachricht der Initiator des Austauschs ist. |
kSendFlag_MulticastFromLinkLocal
|
Eingestellter Alias für |
kSendFlag_NoAutoRequestAck
|
Unterdrücken Sie beim Senden einer Nachricht die Funktion zur automatischen Bestätigung von Anfragen. |
kSendFlag_RequestAck
|
Wird zum Senden einer WRM-Nachricht verwendet, die eine Bestätigung anfordert. |
kSendFlag_RetainBuffer
|
Wird verwendet, um anzugeben, dass der Nachrichtenpuffer nach dem Senden nicht freigegeben werden soll. |
kSendFlag_RetransmissionTrickle
|
Wird verwendet, um anzugeben, dass eine erneute Übertragung für Trickle erforderlich ist. |
kSendFlag_ReuseMessageId
|
Wird verwendet, um anzuzeigen, dass die Nachrichten-ID im Nachrichtenheader wiederverwendet werden kann. |
kSendFlag_ReuseSourceId
|
Wird verwendet, um anzugeben, dass die Quellknoten-ID im Nachrichtenheader wiederverwendet werden kann. |
@35
@35
Attribute | |
---|---|
kGetPeerDescription_MaxLength
|
Maximale Länge des Strings (einschließlich NUL-Zeichen), die von GetPeerDescription() zurückgegeben wird. |
ConnectionClosedFunct
void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
Diese Funktion ist der Anwendungs-Callback, der aufzurufen ist, wenn eine vorhandene Weave-Verbindung geschlossen wurde.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
KeyErrorFunct
void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
Typ der Funktion zur Verarbeitung wichtiger Fehlermeldungen.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
Diese Funktion ist der Anwendungs-Callback zur Verarbeitung einer empfangenen Weave-Nachricht.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
ResponseTimeoutFunct
void(* ResponseTimeoutFunct)(ExchangeContext *ec)
Diese Funktion ist der Anwendungs-Callback, der ausgelöst wird, wenn das Zeitlimit für den Empfang einer Antwortnachricht abgelaufen ist.
Details | |||
---|---|---|---|
Parameter |
|
RetransmissionTimeoutFunct
void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)
Diese Funktion ist der Anwendungs-Callback, der ausgelöst wird, wenn das Zeitlimit für die erneute Übertragung einer zuvor gesendeten Nachricht abgelaufen ist.
Details | |||
---|---|---|---|
Parameter |
|
Zeitüberschreitung
uint32_t Timeout
Typ, mit dem das Zeitlimit in diesem ExchangeContext in Millisekunden ausgedrückt wird.
WRMPAckRcvdFunct
void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
Diese Funktion ist der Anwendungs-Callback, der ausgelöst wird, wenn eine Bestätigung für eine Weave-Nachricht eingeht, die eine Bestätigung als Teil des Weave Reliable Messaging Protocol angefordert hat.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
WRMPPauseRcvdFunct
void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
Diese Funktion ist der Anwendungs-Callback, der ausgelöst wird, wenn eine Throttle-Nachricht oder Delayed Delivery-Nachricht als Teil des Weave Reliable Messaging Protocol eingeht.
Für jede dieser Nachrichten ist ein Zeitwert in Millisekunden angegeben, der angibt, wann das Senden von Weave-Nachrichten in diesem ExchangeContext pausiert werden soll.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
WRMPSendErrorFunct
void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
Diese Funktion ist der Anwendungs-Callback, der aufgerufen wird, wenn beim Senden einer Weave-Nachricht ein Fehler auftritt.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Öffentliche Attribute
AllowDuplicateMsgs
bool AllowDuplicateMsgs
Boolescher Indikator, der angibt, ob doppelte Nachrichten für einen bestimmten Austausch zulässig sind.
AppState
void * AppState
Zeiger auf anwendungsspezifisches Statusobjekt.
EncryptionType
uint8_t EncryptionType
Verschlüsselungstyp, der beim Senden einer Nachricht verwendet werden soll.
ExchangeId
uint16_t ExchangeId
[READ ONLY] ID der zugewiesenen Anzeigenplattform.
KeyId
uint16_t KeyId
Verschlüsselungsschlüssel zum Senden einer Nachricht.
OnConnectionClosed
ConnectionClosedFunct OnConnectionClosed
OnDDRcvd
WRMPPauseRcvdFunct OnDDRcvd
Anwendungsrückruf für empfangene Nachricht zur verzögerten Zustellung.
OnKeyError
KeyErrorFunct OnKeyError
Diese Funktion ist der Anwendungs-Callback, der aufzurufen ist, wenn vom Peer eine wichtige Fehlermeldung empfangen wurde.
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnResponseTimeout
ResponseTimeoutFunct OnResponseTimeout
OnRetransmissionTimeout
RetransmissionTimeoutFunct OnRetransmissionTimeout
OnThrottleRcvd
WRMPPauseRcvdFunct OnThrottleRcvd
Anwendungs-Callback für empfangene Throttle-Nachricht.
PeerAddr
IPAddress PeerAddr
[READ ONLY] IP-Adresse des Peer-Knotens.
PeerIntf
InterfaceId PeerIntf
[READ ONLY] Ausgehende Schnittstelle zum Senden von Nachrichten an den Peer.
(Nur sinnvoll für UDP.)
PeerNodeId
uint64_t PeerNodeId
[READ ONLY] Knoten-ID des Peer-Knotens.
PeerPort
uint16_t PeerPort
[READ ONLY] Port des Peer-Knotens.
ResponseTimeout
Timeout ResponseTimeout
Maximale Wartezeit auf eine Antwort (in Millisekunden); 0 deaktiviert die Zeitüberschreitung für Antworten.
RetransInterval
uint32_t RetransInterval
Zeit zwischen erneuten Übertragungen (in Millisekunden); 0 deaktiviert die erneute Übertragung.
Öffentliche Funktionen
Abbrechen
void Abort( void )
Abbrechen des Exchange-Kontexts und Freigabe aller Verweise darauf.
AddRef
void AddRef( void )
Erhöht den Referenzzähler für den Exchange-Kontext um eins.
AutoRequestAck
bool AutoRequestAck() const
Gibt zurück, ob beim Senden einer Nachricht eine Bestätigung angefordert wird.
CancelRetrans
void CancelRetrans( void )
Den Übertragungsmechanismus von „Trickle“ abbrechen.
Schließen
void Close( void )
Exchange-Kontext ordnungsgemäß schließen
Durch diesen Aufruf wird die Anzahl der Referenzen verringert und der Austausch wird freigegeben, wenn die Referenzanzahl auf null sinkt.
EncodeExchHeader
WEAVE_ERROR EncodeExchHeader( WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags )
Codieren Sie den Exchange-Header in einem Nachrichtenpuffer.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
GetAutoReleaseKey
bool GetAutoReleaseKey() const
Gibt an, ob der mit dem Exchange verknüpfte Verschlüsselungsschlüssel freigegeben werden soll, wenn der Austausch freigegeben wird.
GetCurrentRetransmitTimeout
uint32_t GetCurrentRetransmitTimeout( void )
Ruft das aktuelle Zeitlimit für die erneute Übertragung ab.
Es wäre entweder das anfängliche oder das aktive Zeitlimit für die erneute Übertragung, je nachdem, ob ExchangeContext einen aktiven Nachrichtenaustausch mit seinem Peer hat.
Details | |
---|---|
Rückgabe |
den aktuellen Zeitpunkt der erneuten Übertragung.
|
GetPeerDescription
void GetPeerDescription( char *buf, uint32_t bufSize ) const
Erstellt einen String, der den Peer-Knoten und die zugehörigen Adress-/Verbindungsinformationen beschreibt.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
HandleTrickleMessage
void HandleTrickleMessage( const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo )
Verarbeiten Sie Trickle-Nachrichten im Austauschkontext.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
HasPeerRequestedAck
bool HasPeerRequestedAck( void ) const
Ermitteln Sie, ob Peer für mindestens eine Nachricht in diesem Austausch eine Bestätigung angefordert hat.
Details | |
---|---|
Rückgabe |
Gibt „true“ zurück falls Bestätigung angefordert, sonst „false“.
|
HasRcvdMsgFromPeer
bool HasRcvdMsgFromPeer( void ) const
Ermitteln Sie, ob auf diesem Austausch mindestens eine Nachricht von einem Peer empfangen wurde.
Details | |
---|---|
Rückgabe |
Gibt „true“ zurück bei Eingang der Nachricht, andernfalls „false“.
|
IsAckPending
bool IsAckPending( void ) const
Prüfen Sie, ob bereits eine Bestätigung zum Senden an den Peer auf dieser Anzeigenplattform aussteht.
IsConnectionClosed
bool IsConnectionClosed( void ) const
Prüfen Sie, ob eine aktive WeaveConnection mit ExchangeContext verknüpft ist.
Details | |
---|---|
Rückgabe |
Gibt „true“ zurück wenn Verbindung getrennt, andernfalls „false“.
|
IsInitiator
bool IsInitiator( void ) const
Ermitteln Sie, ob der Kontext der Initiator des Austauschs ist.
Details | |
---|---|
Rückgabe |
Gibt „true“ zurück wenn es der Initiator ist, andernfalls „false“.
|
IsResponseExpected
bool IsResponseExpected( void ) const
Hier können Sie festlegen, ob für Nachrichten, die über diesen Austausch gesendet werden, eine Antwort erwartet wird.
Details | |
---|---|
Rückgabe |
Gibt „true“ zurück wenn Antwort erwartet, sonst „false“.
|
Release
void Release( void )
Releasereferenz zu diesem Austauschkontext.
Wenn die Anzahl auf eins gesunken ist, schließen Sie den Kontext, setzen alle Anwendungs-Callbacks zurück und stoppen alle Timer.
SendCommonNullMessage
WEAVE_ERROR SendCommonNullMessage( void )
Eine Common::Null-Nachricht senden.
Details | |||||||
---|---|---|---|---|---|---|---|
Rückgabewerte |
|
SendMessage
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt )
Senden Sie in diesem Austausch eine Weave-Nachricht.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
SendMessage
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt )
Senden Sie in diesem Austausch eine Weave-Nachricht.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
SetAckPending
void SetAckPending( bool inAckPending )
Legt fest, ob eine Bestätigung an den Peer auf dieser Anzeigenplattform zurückgesendet werden muss.
Details | |||
---|---|---|---|
Parameter |
|
SetAutoReleaseKey
void SetAutoReleaseKey( bool autoReleaseKey )
Legen Sie fest, ob der mit dem Exchange verknüpfte Verschlüsselungsschlüssel freigegeben werden soll, wenn der Datenpool freigegeben wird.
Details | |||
---|---|---|---|
Parameter |
|
SetAutoRequestAck
void SetAutoRequestAck( bool autoReqAck )
Legen Sie fest, ob beim Senden einer Nachricht eine Bestätigung angefordert werden soll.
Details | |||
---|---|---|---|
Parameter |
|
SetConnectionClosed
void SetConnectionClosed( bool inConnectionClosed )
Legen Sie das Bit für das Flag kFlagConnectionClosed fest.
Dieses Flag wird gesetzt, wenn eine WeaveConnection, die mit einem ExchangeContext verknüpft ist, geschlossen wird.
Details | |||
---|---|---|---|
Parameter |
|
SetDropAck
void SetDropAck( bool inDropAck )
Legen Sie fest, ob WeaveExchangeManager für diesen Kontext keine Bestätigungen senden soll.
Nur zur internen Fehlerbehebung.
Details | |||
---|---|---|---|
Parameter |
|
SetInitiator
void SetInitiator( bool inInitiator )
Legen Sie das kFlagInitiator-Flag-Bit fest.
Dieses Flag wird von dem Knoten gesetzt, der einen Austausch initiiert.
Details | |||
---|---|---|---|
Parameter |
|
SetMsgRcvdFromPeer
void SetMsgRcvdFromPeer( bool inMsgRcvdFromPeer )
Legt fest, ob eine Nachricht vom Peer auf dieser Anzeigenplattform empfangen wurde.
Details | |||
---|---|---|---|
Parameter |
|
SetPeerRequestedAck
void SetPeerRequestedAck( bool inPeerRequestedAck )
Legt fest, ob in der letzten Nachricht, die in diesem Austausch empfangen wurde, eine Bestätigung angefordert wurde.
Details | |||
---|---|---|---|
Parameter |
|
SetResponseExpected
void SetResponseExpected( bool inResponseExpected )
Legen Sie fest, ob in diesem Austausch eine Antwort erwartet wird.
Details | |||
---|---|---|---|
Parameter |
|
SetShouldAutoReleaseConnection
void SetShouldAutoReleaseConnection( bool autoReleaseCon )
Legen Sie fest, ob die mit der Anzeigenplattform verknüpfte Weave-Verbindung getrennt werden soll, wenn die Börse freigegeben wird.
Details | |||
---|---|---|---|
Parameter |
|
SetupTrickleRetransmit
WEAVE_ERROR SetupTrickleRetransmit( uint32_t retransInterval, uint8_t threshold, uint32_t timeout )
Richten Sie den Mechanismus für die erneute Übertragung ein, indem Sie das entsprechende Wiederholungsintervall und den Grenzwert für die erneute Übertragung festlegen.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
WEAVE_NO_ERROR, wenn die Trickle-Einrichtung erfolgreich war. Andernfalls wird ein INET_ERROR einem WEAVE_ERROR zugeordnet.
|
ShouldAutoReleaseConnection
bool ShouldAutoReleaseConnection() const
Gibt zurück, ob die mit dem Exchange verknüpfte Weave-Verbindung getrennt werden soll, wenn der Austausch freigegeben wird.
ShouldDropAck
bool ShouldDropAck( void ) const
Legen Sie fest, ob WeaveExchangeManager keine Bestätigung senden soll.
Nur zur internen Fehlerbehebung.
StartTimerT
WEAVE_ERROR StartTimerT( void )
Starten Sie den Timer-Mechanismus des Trickle-Rebroadcast-Algorithmus für eine erneute Übertragung.
Details | |
---|---|
Rückgabe |
WEAVE_NO_ERROR bei Erfolg; sonst wird ein INET_ERROR einem WEAVE_ERROR zugeordnet.
|
TeardownTrickleRetransmit
void TeardownTrickleRetransmit( void )
Löschen Sie den Übertragungsmechanismus von Trickle, indem Sie die regelmäßigen Timer in Trickle abbrechen und den Nachrichtenpuffer mit der Weave-Nachricht freigeben.
UseEphemeralUDPPort
bool UseEphemeralUDPPort( void ) const
Gibt zurück, ob ausgehende Nachrichten, die über den Exchange gesendet wurden, über den lokalen sitzungsspezifischen UDP-Port gesendet werden sollen.
WRMPFlushAcks
WEAVE_ERROR WRMPFlushAcks( void )
WRMPSendDelayedDelivery
WEAVE_ERROR WRMPSendDelayedDelivery( uint32_t PauseTimeMillis, uint64_t DelayedNodeId )
Senden Sie eine Nachricht mit verzögerter Zustellung, um einen Absenderknoten darüber zu informieren, dass es bei der zuvor gesendeten Nachricht zu einer erwarteten Verzögerung kommen würde, bevor sie an den Empfänger zugestellt wird.
Eine der möglichen Ursachen für Verzögerungen bei der Zustellung von Nachrichten ist, dass der Endknoten des Empfängers inaktiv ist. Diese Nachricht wird möglicherweise von einem geeigneten Zwischenknoten im Sendepfad generiert, der über ausreichend Wissen über den Empfänger verfügt, um auf die verzögerte Zustellung zurückzuleiten. Nach Erhalt dieser Nachricht hat der Absender die Timer für die erneute Übertragung für Nachrichten angepasst, die Bestätigungen zurückfordern.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
WRMPSendThrottleFlow
WEAVE_ERROR WRMPSendThrottleFlow( uint32_t PauseTimeMillis )
Senden Sie eine Throttle Flow-Nachricht an den Peer-Knoten und fordern Sie ihn auf, das Senden von Nachrichten zu drosseln.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|