nl::Weave::WeaveExchangeManager

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

Mit dieser Klasse wird ExchangeContexts mit anderen Weave-Knoten verwaltet.

Zusammenfassung

Sie arbeitet für höhere Ebenen, erstellt ExchangeContexts und führt die Registrierung/Abmeldung von unerwünschten Nachrichten-Handlern durch.

Konstruktoren und Zerstörer

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

Öffentliche Typen

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
enum

Öffentliche Attribute

FabricState
[READ ONLY] Das zugehörige FabricState-Objekt.
MessageLayer
[READ ONLY] Das zugehörige WeaveMessageLayer-Objekt.
State
uint8_t
[READ ONLY] Der Status des WeaveExchangeManager-Objekts.

Öffentliche Funktionen

AllowUnsolicitedMessages(WeaveConnection *con)
void
Zulassen, dass unerwünschte Nachrichten über die angegebene Verbindung empfangen werden.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
MsgCounterSyncReq-Flag für alle ausstehenden Nachrichten an diesen Peer löschen.
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Findet ExchangeContext in einem Pool, der mit einem bestimmten Satz von Parametern übereinstimmt.
Init(WeaveMessageLayer *msgLayer)
Initialisieren Sie das Objekt WeaveExchangeManager.
NewBinding(Binding::EventCallback eventCallback, void *appState)
Weisen Sie den bereitgestellten Argumenten ein neues Binding zu.
NewContext(const uint64_t & peerNodeId, void *appState)
Erstellt einen neuen ExchangeContext mit einem bestimmten Peer-Weave-Knoten, der von der Peer-Knoten-ID angegeben wird.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Erstellt einen neuen ExchangeContext mit einem bestimmten Peer-Weave-Knoten, der durch die Peer-Knoten-ID und die Peer-IP-Adresse angegeben wird.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Erstellt einen neuen ExchangeContext mit einem bestimmten Peer-Weave-Knoten, der durch die Peer-Knoten-ID, die Peer-IP-Adresse und den Zielport auf einer bestimmten Schnittstelle angegeben wird.
NewContext(WeaveConnection *con, void *appState)
Erstellt einen neuen ExchangeContext mit einem bestimmten Peer-Weave-Knoten über eine angegebene WeaveConnection.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrieren Sie einen unerwünschten Nachrichten-Handler für eine bestimmte Profilkennung.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrieren Sie einen unerwünschten Nachrichten-Handler für eine bestimmte Profilkennung.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrieren Sie einen unerwünschten Nachrichten-Handler 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 unerwünschten Nachrichten-Handler 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 unerwünschten Nachrichten-Handler für eine bestimmte Profilkennung, einen Nachrichtentyp auf einer bestimmten Weave-Verbindung.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrieren Sie einen unerwünschten Nachrichten-Handler für eine bestimmte Profilkennung, einen Nachrichtentyp auf einer bestimmten Weave-Verbindung.
Shutdown(void)
Fahren Sie WeaveExchangeManager herunter.
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
Heben Sie die Registrierung eines unerwünschten Nachrichten-Handlers für eine bestimmte Profil-ID auf.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Heben Sie die Registrierung eines unerwünschten Nachrichten-Handlers für eine bestimmte Profilkennung und einen bestimmten Nachrichtentyp auf.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Heben Sie die Registrierung eines unerwünschten Nachrichten-Handlers für eine bestimmte Profilkennung, einen Nachrichtentyp und eine Weave-Verbindung auf.

Öffentliche Typen

Status

 State
Attribute
kState_Initialized

Wird verwendet, um anzuzeigen, dass WeaveExchangeManager initialisiert wird.

kState_NotInitialized

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

Öffentliche Attribute

FabricState

WeaveFabricState * FabricState

[READ ONLY] Das zugehörige FabricState-Objekt.

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] Das zugehörige WeaveMessageLayer-Objekt.

Status

uint8_t State

[READ ONLY] Der Status des WeaveExchangeManager-Objekts.

Öffentliche Funktionen

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Zulassen, dass unerwünschte Nachrichten über die angegebene Verbindung empfangen werden.

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

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

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

MsgCounterSyncReq-Flag für alle ausstehenden Nachrichten an diesen Peer löschen.

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

FindContext

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

Findet ExchangeContext in einem Pool, der mit einem bestimmten Satz von Parametern übereinstimmt.

Details
Parameter
[in] peerNodeId
Die Knoten-ID des Peers, mit dem ExchangeContext eingerichtet wurde.
[in] con
Ein Zeiger auf das WeaveConnection-Objekt, das die TCP-Verbindung mit dem Peer darstellt.
[in] appState
Ein Zeiger auf ein Objekt auf einer höheren Ebene, das den Kontextstatus enthält.
[in] isInitiator
Boolescher Indikator darüber, ob der lokale Knoten der Initiator des Austauschs ist.
Rückgabe
Ein Zeiger auf das ExchangeContext-Objekt, das mit den angegebenen Parametern übereinstimmt. Bei Erfolg NULL bei fehlender Übereinstimmung.

Init

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Initialisieren Sie das Objekt WeaveExchangeManager.

Während der Lebensdauer dieser Instanz wird diese Methode einmal nach der Objekterstellung aufgerufen, bis ein Aufruf an das Herunterfahren erfolgt, um die Instanz zu beenden.

Details
Parameter
[in] msgLayer
Ein Zeiger auf das WeaveMessageLayer-Objekt.
Rückgabewerte
WEAVE_ERROR_INCORRECT_STATE
Wenn der Status nicht gleich kState_NotInitiald ist.
WEAVE_NO_ERROR
Bei Erfolg.

NewBinding

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

Weisen Sie den bereitgestellten Argumenten ein neues Binding zu.

Details
Parameter
[in] eventCallback
Ein Funktionszeiger, der für den Ereignis-Callback verwendet werden soll
[in] appState
Ein Zeiger auf einen Kontext, der später im Ereignis-Callback übergeben wird.
Rückgabe
Ein Zeiger auf das neu zugewiesene Binding oder NULL, wenn der Pool erschöpft ist

NewContext

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

Erstellt einen neuen ExchangeContext mit einem bestimmten Peer-Weave-Knoten, der von der Peer-Knoten-ID angegeben wird.

Details
Parameter
[in] peerNodeId
Die Knoten-ID des Peers, mit dem ExchangeContext eingerichtet wird.
[in] appState
Ein Zeiger auf ein Objekt auf einer höheren Ebene, das den Kontextstatus enthält.
Rückgabe
Ein Verweis auf das erstellte ExchangeContext-Objekt bei Erfolg. Andernfalls NULL, wenn kein Objekt zugewiesen werden kann oder verfügbar ist.

NewContext

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

Erstellt einen neuen ExchangeContext mit einem bestimmten Peer-Weave-Knoten, der durch die Peer-Knoten-ID und die Peer-IP-Adresse angegeben wird.

Details
Parameter
[in] peerNodeId
Die Knoten-ID des Peers, mit dem ExchangeContext eingerichtet wird.
[in] peerAddr
Die IP-Adresse des Peer-Knotens.
[in] appState
Ein Zeiger auf ein Objekt auf einer höheren Ebene, das den Kontextstatus enthält.
Rückgabe
Ein Verweis auf das erstellte ExchangeContext-Objekt bei Erfolg. Andernfalls NULL, wenn kein Objekt zugewiesen werden kann oder verfügbar ist.

NewContext

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

Erstellt einen neuen ExchangeContext mit einem bestimmten Peer-Weave-Knoten, der durch die Peer-Knoten-ID, die Peer-IP-Adresse und den Zielport auf einer bestimmten Schnittstelle angegeben wird.

Details
Parameter
[in] peerNodeId
Die Knoten-ID des Peers, mit dem ExchangeContext eingerichtet 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 auf dieser Anzeigenplattform.
[in] appState
Ein Zeiger auf ein Objekt auf einer höheren Ebene, das den Kontextstatus enthält.
Rückgabe
Ein Verweis auf das erstellte ExchangeContext-Objekt bei Erfolg. Andernfalls NULL, wenn kein Objekt zugewiesen werden kann oder verfügbar ist.

NewContext

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

Erstellt einen neuen ExchangeContext mit einem bestimmten Peer-Weave-Knoten über eine angegebene WeaveConnection.

Details
Parameter
[in] con
Ein Zeiger auf das WeaveConnection-Objekt, das die TCP-Verbindung mit dem Peer darstellt.
[in] appState
Ein Zeiger auf ein Objekt auf einer höheren Ebene, das den Kontextstatus enthält.
Rückgabe
Ein Verweis auf das erstellte ExchangeContext-Objekt bei 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 unerwünschten Nachrichten-Handler für eine bestimmte Profilkennung.

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

Details
Parameter
[in] profileId
Die Profil-ID der empfangenen Nachricht.
[in] handler
Der Handler für unerwünschte Nachrichten.
[in] appState
Ein Zeiger auf ein Objekt auf einer höheren Ebene, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handler-Pool für unerwünschte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Bei Erfolg.

RegisterUnsolicitedMessageHandler

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

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

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

Details
Parameter
[in] profileId
Die Profil-ID der empfangenen Nachricht.
[in] handler
Der Handler für unerwünschte Nachrichten.
[in] allowDups
Boolescher Indikator, der angibt, ob doppelte Nachrichten für ein bestimmtes Profil zulässig sind.
[in] appState
Ein Zeiger auf ein Objekt auf einer höheren Ebene, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handler-Pool für unerwünschte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Bei Erfolg.

RegisterUnsolicitedMessageHandler

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

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

Details
Parameter
[in] profileId
Die Profil-ID der empfangenen Nachricht.
[in] msgType
Der Nachrichtentyp des entsprechenden Profils.
[in] handler
Der Handler für unerwünschte Nachrichten.
[in] appState
Ein Zeiger auf ein Objekt auf einer höheren Ebene, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handler-Pool für unerwünschte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Bei Erfolg.

RegisterUnsolicitedMessageHandler

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

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

Details
Parameter
[in] profileId
Die Profil-ID der empfangenen Nachricht.
[in] msgType
Der Nachrichtentyp des entsprechenden Profils.
[in] handler
Der Handler für unerwünschte Nachrichten.
[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 auf einer höheren Ebene, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handler-Pool für unerwünschte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Bei Erfolg.

RegisterUnsolicitedMessageHandler

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

Registrieren Sie einen unerwünschten Nachrichten-Handler für eine bestimmte Profilkennung, einen Nachrichtentyp auf einer bestimmten Weave-Verbindung.

Details
Parameter
[in] profileId
Die Profil-ID 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 darstellt.
[in] handler
Der Handler für unerwünschte Nachrichten.
[in] appState
Ein Zeiger auf ein Objekt auf einer höheren Ebene, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handler-Pool für unerwünschte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Bei Erfolg.

RegisterUnsolicitedMessageHandler

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

Registrieren Sie einen unerwünschten Nachrichten-Handler für eine bestimmte Profilkennung, einen Nachrichtentyp auf einer bestimmten Weave-Verbindung.

Details
Parameter
[in] profileId
Die Profil-ID 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 darstellt.
[in] handler
Der Handler für unerwünschte Nachrichten.
[in] allowDups
Boolescher Indikator, der angibt, ob doppelte Nachrichten für eine bestimmte Profilkennung, Nachrichtentyp bei einer bestimmten Weave-Verbindung, zulässig sind.
[in] appState
Ein Zeiger auf ein Objekt auf einer höheren Ebene, das den Kontextstatus enthält.
Rückgabewerte
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Wenn der Handler-Pool für unerwünschte Nachrichten voll ist und kein neuer zugewiesen werden kann.
WEAVE_NO_ERROR
Bei Erfolg.

Herunterfahren

WEAVE_ERROR Shutdown(
  void
)

Fahren Sie WeaveExchangeManager herunter.

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

Details
Rückgabe
WEAVE_NO_ERROR unbedingt.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Heben Sie die Registrierung eines unerwünschten Nachrichten-Handlers für eine bestimmte Profil-ID auf.

Details
Parameter
[in] profileId
Die Profil-ID der empfangenen Nachricht.
Rückgabewerte
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Wenn der entsprechende Handler für unerwünschte Nachrichten nicht gefunden wurde.
WEAVE_NO_ERROR
Bei Erfolg.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Heben Sie die Registrierung eines unerwünschten Nachrichten-Handlers für eine bestimmte Profilkennung und einen bestimmten Nachrichtentyp auf.

Details
Parameter
[in] profileId
Die Profil-ID der empfangenen Nachricht.
[in] msgType
Der Nachrichtentyp des entsprechenden Profils.
Rückgabewerte
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Wenn der entsprechende Handler für unerwünschte Nachrichten nicht gefunden wurde.
WEAVE_NO_ERROR
Bei Erfolg.

UnregisterUnsolicitedMessageHandler

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

Heben Sie die Registrierung eines unerwünschten Nachrichten-Handlers für eine bestimmte Profilkennung, einen Nachrichtentyp und eine Weave-Verbindung auf.

Details
Parameter
[in] profileId
Die Profil-ID 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 darstellt.
Rückgabewerte
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Wenn der entsprechende Handler für unerwünschte Nachrichten nicht gefunden wurde.
WEAVE_NO_ERROR
Bei Erfolg.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Konstruktor für die Klasse WeaveExchangeManager.

Der Status wird auf kState_NotInitiald gesetzt.