Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl:: Weben:: WeaveExchangeManager

#include <src/lib/core/WeaveExchangeMgr.h>

Diese Klasse wird verwendet, um ExchangeContexts mit anderen Weave-Knoten zu verwalten.

Zusammenfassung

Es arbeitet im Auftrag höherer Schichten, erstellt ExchangeContexts und handhabt die Registrierung/Deregistrierung von unerwünschten Nachrichtenhandlern.

Konstruktoren und Destruktoren

WeaveExchangeManager (void)
Konstruktor für die WeaveExchangeManager Klasse.

Öffentliche Typen

State {
kState_NotInitialized = 0,
kState_Initialized = 1
}
aufzählen

Öffentliche Attribute

FabricState
[NUR LESEN] Das zugehörige FabricState-Objekt.
MessageLayer
[READ ONLY] Das zugehörige WeaveMessageLayer Objekt.
State
uint8_t
[READ ONLY] Der Zustand des WeaveExchangeManager Objekt.

Öffentliche Funktionen

AllowUnsolicitedMessages ( WeaveConnection *con)
void
Erlauben Sie den Empfang unerwünschter Nachrichten über die angegebene Verbindung.
ClearMsgCounterSyncReq (uint64_t peerNodeId)
void
Löschen Sie das MsgCounterSyncReq-Flag für alle ausstehenden Nachrichten an diesen Peer.
FindContext (uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Finden Sie die ExchangeContext aus einem Pool einen bestimmten Satz von Parametern entsprechen.
Init ( WeaveMessageLayer *msgLayer)
Initialisieren Sie das WeaveExchangeManager Objekt.
NewBinding (Binding::EventCallback eventCallback, void *appState)
Vergeben Sie eine neue Bindung mit den Argumenten versorgt.
NewContext (const uint64_t & peerNodeId, void *appState)
Erzeugt ein neues ExchangeContext mit einem gegebenen Peer Weave Knoten durch den Peer - Knoten - Identifizierer spezifiziert.
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Erzeugt ein neues ExchangeContext mit einem gegebenen Peer Weave Knoten durch die Peer - Knoten und Peer - Identifikator der IP - Adresse angegeben wird .
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Erzeugt ein neues ExchangeContext mit einem gegebenen Peer Weave Knoten durch die Peer - Knoten - Kennung, Peer - IP - Adresse und die Ziel - Port auf einer spezifizierten Schnittstelle angegeben.
NewContext ( WeaveConnection *con, void *appState)
Erstellt ein neues ExchangeContext mit einem bestimmten Peer - Webart - Knoten über einen bestimmten WeaveConnection .
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrieren Sie einen Handler für unerwünschte Nachrichten für eine bestimmte Profilkennung.
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrieren Sie einen Handler für unerwünschte Nachrichten für eine bestimmte Profilkennung.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrieren Sie einen Handler für unerwünschte Nachrichten für eine bestimmte Profilkennung und einen bestimmten Nachrichtentyp.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrieren Sie einen Handler für unerwünschte Nachrichten für eine bestimmte Profilkennung und einen bestimmten Nachrichtentyp.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrieren Sie einen unaufgeforderten Nachrichtenhandler für eine bestimmte Profilkennung, Nachrichtentyp auf einer angegebenen Weave-Verbindung.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrieren Sie einen unaufgeforderten Nachrichtenhandler für eine bestimmte Profilkennung, Nachrichtentyp auf einer angegebenen Weave-Verbindung.
Shutdown (void)
Shutdown der WeaveExchangeManager .
UnregisterUnsolicitedMessageHandler (uint32_t profileId)
Heben Sie die Registrierung eines unaufgeforderten Nachrichtenhandlers für eine bestimmte Profilkennung auf.
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType)
Heben Sie die Registrierung eines unaufgeforderten Nachrichtenhandlers für eine bestimmte Profilkennung und einen bestimmten Nachrichtentyp auf.
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Heben Sie die Registrierung eines unaufgeforderten Nachrichtenhandlers für eine bestimmte Profilkennung, Nachrichtentyp und Weave-Verbindung auf.

Öffentliche Typen

Zustand

 State
Eigenschaften
kState_Initialized

Wird verwendet , um anzuzeigen , dass der WeaveExchangeManager initialisiert.

kState_NotInitialized

Wird verwendet , um anzuzeigen , dass der WeaveExchangeManager nicht initialisiert wird.

Öffentliche Attribute

Stoffstatus

WeaveFabricState * FabricState

[NUR LESEN] Das zugehörige FabricState-Objekt.

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] Das zugehörige WeaveMessageLayer Objekt.

Zustand

uint8_t State

[READ ONLY] Der Zustand des WeaveExchangeManager Objekt.

Öffentliche Funktionen

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Erlauben Sie den Empfang unerwünschter Nachrichten über die angegebene Verbindung.

Diese Methode legt den Nachrichtenempfangshandler für die angegebene Weave-Verbindung fest.

Einzelheiten
Parameter
[in] con
Ein Zeiger auf das Weave-Verbindungsobjekt.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

Löschen Sie das MsgCounterSyncReq-Flag für alle ausstehenden Nachrichten an diesen Peer.

Einzelheiten
Parameter
[in] peerNodeId
Knoten-ID des Zielknotens.

Kontext suchen

ExchangeContext * FindContext(
  uint64_t peerNodeId,
  WeaveConnection *con,
  void *appState,
  bool isInitiator
)

Finden Sie die ExchangeContext aus einem Pool einen bestimmten Satz von Parametern entsprechen.

Einzelheiten
Parameter
[in] peerNodeId
Die Knotenkennung des Peers , mit dem der ExchangeContext eingerichtet wird.
[in] con
Ein Zeiger auf das WeaveConnection Objekt, das die TCP - Verbindung mit dem Peer.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
[in] isInitiator
Boolescher Indikator, ob der lokale Knoten der Initiator des Austauschs ist.
Kehrt zurück
Ein Zeiger auf das ExchangeContext Objekt auf keine Übereinstimmung die bereitgestellten Parameter Bei Erfolg NULL entspricht.

Drin

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Initialisieren Sie das WeaveExchangeManager Objekt.

Innerhalb der Lebensdauer dieser Instanz wird diese Methode nach der Objektkonstruktion einmal aufgerufen, bis ein Aufruf von Shutdown zum Beenden der Instanz erfolgt.

Einzelheiten
Parameter
[in] msgLayer
Ein Zeiger auf das WeaveMessageLayer Objekt.
Rückgabewerte
WEAVE_ERROR_INCORRECT_STATE
Wenn der Zustand nicht gleich kState_NotInitialized ist.
WEAVE_NO_ERROR
Auf Erfolg.

NeuBindung

Binding * NewBinding(
  Binding::EventCallback eventCallback,
  void *appState
)

Vergeben Sie eine neue Bindung mit den Argumenten versorgt.

Einzelheiten
Parameter
[in] eventCallback
Ein Funktionszeiger, der für Ereignisrückrufe verwendet werden soll
[in] appState
Ein Zeiger auf einen Kontext, der später im Ereignisrückruf übertragen würde
Kehrt zurück
Ein Zeiger auf die neu zugewiesenen Bindung , oder NULL , wenn der Pool erschöpft ist

Neuer Kontext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  void *appState
)

Erzeugt ein neues ExchangeContext mit einem gegebenen Peer Weave Knoten durch den Peer - Knoten - Identifizierer spezifiziert.

Einzelheiten
Parameter
[in] peerNodeId
Die Knotenkennung des Peers , mit dem der ExchangeContext aufgebaut wird.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
Kehrt zurück
Ein Zeiger auf das erstellte ExchangeContext Objekt auf Erfolg. Andernfalls NULL, wenn kein Objekt zugeordnet werden kann oder verfügbar ist.

Neuer Kontext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  void *appState
)

Erzeugt ein neues ExchangeContext mit einem gegebenen Peer Weave Knoten durch die Peer - Knoten und Peer - Identifikator der IP - Adresse angegeben wird .

Einzelheiten
Parameter
[in] peerNodeId
Die Knotenkennung des Peers , mit dem der ExchangeContext aufgebaut wird.
[in] peerAddr
Die IP-Adresse des Peer-Knotens.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
Kehrt zurück
Ein Zeiger auf das erstellte ExchangeContext Objekt auf Erfolg. Andernfalls NULL, wenn kein Objekt zugewiesen werden kann oder verfügbar ist.

Neuer Kontext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId sendIntfId,
  void *appState
)

Erzeugt ein neues ExchangeContext mit einem gegebenen Peer Weave Knoten durch die Peer - Knoten - Kennung, Peer - IP - Adresse und die Ziel - Port auf einer spezifizierten Schnittstelle angegeben.

Einzelheiten
Parameter
[in] peerNodeId
Die Knotenkennung des Peers , mit dem der ExchangeContext aufgebaut wird.
[in] peerAddr
Die IP-Adresse des Peer-Knotens.
[in] peerPort
Der Port des Peer-Knotens.
[in] sendIntfId
Die Schnittstelle zum Senden von Weave-Nachrichten an dieser Börse.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
Kehrt zurück
Ein Zeiger auf das erstellte ExchangeContext Objekt auf Erfolg. Andernfalls NULL, wenn kein Objekt zugewiesen werden kann oder verfügbar ist.

Neuer Kontext

ExchangeContext * NewContext(
  WeaveConnection *con,
  void *appState
)

Erstellt ein neues ExchangeContext mit einem bestimmten Peer - Webart - Knoten über einen bestimmten WeaveConnection .

Einzelheiten
Parameter
[in] con
Ein Zeiger auf das WeaveConnection Objekt, das die TCP - Verbindung mit dem Peer.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
Kehrt zurück
Ein Zeiger auf das erstellte ExchangeContext Objekt auf Erfolg. Andernfalls NULL, wenn kein Objekt zugewiesen werden kann oder verfügbar ist.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Registrieren Sie einen Handler für unerwünschte Nachrichten für eine bestimmte Profilkennung.

Dieser Handler würde für alle Nachrichten des angegebenen Profils aufgerufen.

Einzelheiten
Parameter
[in] profileId
Die Profilkennung der empfangenen Nachricht.
[in] handler
Der unaufgeforderte Nachrichtenhandler.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handlerpool für nicht angeforderte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Auf Erfolg.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Registrieren Sie einen Handler für unerwünschte Nachrichten für eine bestimmte Profilkennung.

Dieser Handler würde für alle Nachrichten des angegebenen Profils aufgerufen.

Einzelheiten
Parameter
[in] profileId
Die Profilkennung der empfangenen Nachricht.
[in] handler
Der unaufgeforderte Nachrichtenhandler.
[in] allowDups
Boolescher Indikator, ob für ein bestimmtes Profil doppelte Nachrichten zulässig sind.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handlerpool für nicht angeforderte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Auf Erfolg.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Registrieren Sie einen Handler für unerwünschte Nachrichten für eine bestimmte Profilkennung und einen bestimmten Nachrichtentyp.

Einzelheiten
Parameter
[in] profileId
Die Profilkennung der empfangenen Nachricht.
[in] msgType
Der Nachrichtentyp des entsprechenden Profils.
[in] handler
Der unaufgeforderte Nachrichtenhandler.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handlerpool für nicht angeforderte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Auf Erfolg.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Registrieren Sie einen Handler für unerwünschte Nachrichten für eine bestimmte Profilkennung und einen bestimmten Nachrichtentyp.

Einzelheiten
Parameter
[in] profileId
Die Profilkennung der empfangenen Nachricht.
[in] msgType
Der Nachrichtentyp des entsprechenden Profils.
[in] handler
Der unaufgeforderte Nachrichtenhandler.
[in] allowDups
Boolescher Indikator, der angibt, ob doppelte Nachrichten für eine bestimmte Profilkennung und einen bestimmten Nachrichtentyp zulässig sind.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handlerpool für nicht angeforderte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Auf Erfolg.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Registrieren Sie einen unaufgeforderten Nachrichtenhandler für eine bestimmte Profilkennung, Nachrichtentyp auf einer angegebenen Weave-Verbindung.

Einzelheiten
Parameter
[in] profileId
Die Profilkennung der empfangenen Nachricht.
[in] msgType
Der Nachrichtentyp des entsprechenden Profils.
[in] con
Ein Zeiger auf das WeaveConnection Objekt, das die TCP - Verbindung mit dem Peer.
[in] handler
Der unaufgeforderte Nachrichtenhandler.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handlerpool für nicht angeforderte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Auf Erfolg.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Registrieren Sie einen unaufgeforderten Nachrichtenhandler für eine bestimmte Profilkennung, Nachrichtentyp auf einer angegebenen Weave-Verbindung.

Einzelheiten
Parameter
[in] profileId
Die Profilkennung der empfangenen Nachricht.
[in] msgType
Der Nachrichtentyp des entsprechenden Profils.
[in] con
Ein Zeiger auf das WeaveConnection Objekt, das die TCP - Verbindung mit dem Peer.
[in] handler
Der unaufgeforderte Nachrichtenhandler.
[in] allowDups
Boolescher Indikator, der angibt, ob doppelte Nachrichten für einen bestimmten Profilbezeichner, Nachrichtentyp auf einer angegebenen Weave-Verbindung zulässig sind.
[in] appState
Ein Zeiger auf ein Objekt einer höheren Schicht, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handlerpool für nicht angeforderte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Auf Erfolg.

Schließen

WEAVE_ERROR Shutdown(
  void
)

Shutdown der WeaveExchangeManager .

Dadurch wird diese Instanz des Objekts beendet und alle gehaltenen Ressourcen freigegeben.

Einzelheiten
Kehrt zurück
WEAVE_NO_ERROR bedingungslos.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Heben Sie die Registrierung eines unaufgeforderten Nachrichtenhandlers für eine bestimmte Profilkennung auf.

Einzelheiten
Parameter
[in] profileId
Die Profilkennung der empfangenen Nachricht.
Rückgabewerte
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Wenn der passende Handler für unaufgeforderte Nachrichten nicht gefunden wird.
WEAVE_NO_ERROR
Auf Erfolg.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Heben Sie die Registrierung eines unaufgeforderten Nachrichtenhandlers für eine bestimmte Profilkennung und einen bestimmten Nachrichtentyp auf.

Einzelheiten
Parameter
[in] profileId
Die Profilkennung der empfangenen Nachricht.
[in] msgType
Der Nachrichtentyp des entsprechenden Profils.
Rückgabewerte
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Wenn der passende Handler für unaufgeforderte Nachrichten nicht gefunden wird.
WEAVE_NO_ERROR
Auf Erfolg.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con
)

Heben Sie die Registrierung eines unaufgeforderten Nachrichtenhandlers für eine bestimmte Profilkennung, Nachrichtentyp und Weave-Verbindung auf.

Einzelheiten
Parameter
[in] profileId
Die Profilkennung der empfangenen Nachricht.
[in] msgType
Der Nachrichtentyp des entsprechenden Profils.
[in] con
Ein Zeiger auf das WeaveConnection Objekt, das die TCP - Verbindung mit dem Peer.
Rückgabewerte
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Wenn der passende Handler für unaufgeforderte Nachrichten nicht gefunden wird.
WEAVE_NO_ERROR
Auf Erfolg.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Konstruktor für die WeaveExchangeManager Klasse.

Es setzt den Zustand auf kState_NotInitialized.