nl::Weave::WeaveExchangeManager

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

Cette classe permet de gérer ExchangeContexts avec d'autres nœuds Weave.

Résumé

Il fonctionne au nom des niveaux supérieurs, en créant des contextes Exchange et en gérant l'enregistrement/l'annulation de l'enregistrement des gestionnaires de messages non sollicités.

Constructeurs et destructeurs

WeaveExchangeManager(void)
Constructeur pour la classe WeaveExchangeManager.

Types publics

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
enum

Attributs publics

FabricState
[LECTURE SEULE] Objet FabricState associé.
MessageLayer
[LECTURE SEULE] L'objet WeaveMessageLayer associé.
State
uint8_t
[LECTURE SEULE] État de l'objet WeaveExchangeManager.

Fonctions publiques

AllowUnsolicitedMessages(WeaveConnection *con)
void
Autorise la réception de messages non sollicités sur la connexion spécifiée.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
Effacer l'indicateur MsgCounterSyncReq pour tous les messages en attente envoyés à ce pair
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Recherchez le contexte ExchangeContext dans un pool correspondant à un ensemble de paramètres donné.
Init(WeaveMessageLayer *msgLayer)
Initialisez l'objet WeaveExchangeManager.
NewBinding(Binding::EventCallback eventCallback, void *appState)
Allouez une nouvelle liaison avec les arguments fournis.
NewContext(const uint64_t & peerNodeId, void *appState)
Crée un ExchangeContext avec un nœud Weave de pairs spécifié par l'identifiant du nœud de pairs.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Crée un ExchangeContext avec un nœud Weave de pairs spécifié par l'identifiant et l'adresse IP du pair.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Crée un ExchangeContext avec un nœud Weave de pairs spécifié par l'identifiant du nœud du pair, l'adresse IP du pair et le port de destination sur une interface spécifiée.
NewContext(WeaveConnection *con, void *appState)
Crée un ExchangeContext avec un nœud Weave pair donné sur une WeaveConnection spécifiée.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil donné.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil donné.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil et un type de message donnés.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil et un type de message donnés.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil donné, un type de message sur une connexion Weave spécifiée.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil donné, un type de message sur une connexion Weave spécifiée.
Shutdown(void)
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
Annulez l'enregistrement d'un gestionnaire de messages non sollicités pour un identifiant de profil donné.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Annulez l'enregistrement d'un gestionnaire de messages non sollicités pour un identifiant de profil et un type de message donnés.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Annulez l'enregistrement d'un gestionnaire de messages non sollicités pour un identifiant de profil, un type de message et une connexion Weave donnés.

Types publics

État

 State
Propriétés
kState_Initialized

Permet d'indiquer que le gestionnaire WeaveExchangeManager est initialisé.

kState_NotInitialized

Permet d'indiquer que le gestionnaire WeaveExchangeManager n'est pas initialisé.

Attributs publics

FabricState

WeaveFabricState * FabricState

[LECTURE SEULE] Objet FabricState associé.

MessageLayer

WeaveMessageLayer * MessageLayer

[LECTURE SEULE] L'objet WeaveMessageLayer associé.

État

uint8_t State

[LECTURE SEULE] État de l'objet WeaveExchangeManager.

Fonctions publiques

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Autorise la réception de messages non sollicités sur la connexion spécifiée.

Cette méthode définit le gestionnaire de réception des messages sur la connexion Weave donnée.

Détails
Paramètres
[in] con
Pointeur vers l'objet de connexion Weave.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

Effacer l'indicateur MsgCounterSyncReq pour tous les messages en attente envoyés à ce pair

Détails
Paramètres
[in] peerNodeId
ID du nœud de destination.

FindContext

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

Recherchez le contexte ExchangeContext dans un pool correspondant à un ensemble de paramètres donné.

Détails
Paramètres
[in] peerNodeId
Identifiant de nœud du pair avec lequel ExchangeContext a été configuré.
[in] con
Pointeur vers l'objet WeaveConnection représentant la connexion TCP avec le pair.
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
[in] isInitiator
Indicateur booléen indiquant si le nœud local est l'initiateur de l'échange.
Renvoie
Pointeur vers l'objet ExchangeContext correspondant aux paramètres fournis. En cas de réussite, NULL en cas d'absence de correspondance.

Init

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Initialisez l'objet WeaveExchangeManager.

Pendant la durée de vie de cette instance, cette méthode est appelée une fois après la construction de l'objet, jusqu'à ce qu'un appel à "Shutdown" soit effectué pour arrêter l'instance.

Détails
Paramètres
[in] msgLayer
Pointeur vers l'objet WeaveMessageLayer.
Valeurs de retour
WEAVE_ERROR_INCORRECT_STATE
Si l'état n'est pas égal à kState_NotInitialized.
WEAVE_NO_ERROR
Pour la réussite.

NewBinding

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

Allouez une nouvelle liaison avec les arguments fournis.

Détails
Paramètres
[in] eventCallback
Un pointeur de fonction à utiliser pour le rappel d'événement
[in] appState
Un pointeur vers un contexte qui serait utilisé ultérieurement dans le rappel d'événement
Renvoie
Pointeur vers la liaison nouvellement allouée, ou valeur NULL si le pool est épuisé

NewContext

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

Crée un ExchangeContext avec un nœud Weave de pairs spécifié par l'identifiant du nœud de pairs.

Détails
Paramètres
[in] peerNodeId
Identifiant de nœud du pair avec lequel ExchangeContext est configuré.
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
Renvoie
Pointeur vers l'objet ExchangeContext créé en cas de réussite. Sinon, la valeur est NULL si aucun objet ne peut être alloué ou n'est disponible.

NewContext

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

Crée un ExchangeContext avec un nœud Weave de pairs spécifié par l'identifiant et l'adresse IP du pair.

Détails
Paramètres
[in] peerNodeId
Identifiant de nœud du pair avec lequel ExchangeContext est configuré.
[in] peerAddr
Adresse IP du nœud pair.
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
Renvoie
Pointeur vers l'objet ExchangeContext créé en cas de réussite. Sinon, la valeur est NULL si aucun objet ne peut être alloué ou n'est disponible.

NewContext

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

Crée un ExchangeContext avec un nœud Weave de pairs spécifié par l'identifiant du nœud du pair, l'adresse IP du pair et le port de destination sur une interface spécifiée.

Détails
Paramètres
[in] peerNodeId
Identifiant de nœud du pair avec lequel ExchangeContext est configuré.
[in] peerAddr
Adresse IP du nœud pair.
[in] peerPort
Port du nœud pair.
[in] sendIntfId
Interface à utiliser pour envoyer des messages Weave sur cet échange.
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
Renvoie
Pointeur vers l'objet ExchangeContext créé en cas de réussite. Sinon, la valeur est NULL si aucun objet ne peut être alloué ou n'est disponible.

NewContext

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

Crée un ExchangeContext avec un nœud Weave pair donné sur une WeaveConnection spécifiée.

Détails
Paramètres
[in] con
Pointeur vers l'objet WeaveConnection représentant la connexion TCP avec le pair.
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
Renvoie
Pointeur vers l'objet ExchangeContext créé en cas de réussite. Sinon, la valeur est NULL si aucun objet ne peut être alloué ou n'est disponible.

RegisterUnsolicitedMessageHandler

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

Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil donné.

Ce gestionnaire sera appelé pour tous les messages du profil donné.

Détails
Paramètres
[in] profileId
Identifiant de profil du message reçu.
[in] handler
Gestionnaire de messages non sollicités
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
Valeurs de retour
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est plein et qu'un nouveau ne peut pas être alloué.
WEAVE_NO_ERROR
Pour la réussite.

RegisterUnsolicitedMessageHandler

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

Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil donné.

Ce gestionnaire sera appelé pour tous les messages du profil donné.

Détails
Paramètres
[in] profileId
Identifiant de profil du message reçu.
[in] handler
Gestionnaire de messages non sollicités
[in] allowDups
Indicateur booléen indiquant si les messages en double sont autorisés pour un profil donné.
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
Valeurs de retour
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est plein et qu'un nouveau ne peut pas être alloué.
WEAVE_NO_ERROR
Pour la réussite.

RegisterUnsolicitedMessageHandler

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

Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil et un type de message donnés.

Détails
Paramètres
[in] profileId
Identifiant de profil du message reçu.
[in] msgType
Type de message du profil correspondant.
[in] handler
Gestionnaire de messages non sollicités
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
Valeurs de retour
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est plein et qu'un nouveau ne peut pas être alloué.
WEAVE_NO_ERROR
Pour la réussite.

RegisterUnsolicitedMessageHandler

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

Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil et un type de message donnés.

Détails
Paramètres
[in] profileId
Identifiant de profil du message reçu.
[in] msgType
Type de message du profil correspondant.
[in] handler
Gestionnaire de messages non sollicités
[in] allowDups
Indicateur booléen indiquant si les messages en double sont autorisés pour un identifiant de profil et un type de message donnés.
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
Valeurs de retour
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est plein et qu'un nouveau ne peut pas être alloué.
WEAVE_NO_ERROR
Pour la réussite.

RegisterUnsolicitedMessageHandler

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

Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil donné, un type de message sur une connexion Weave spécifiée.

Détails
Paramètres
[in] profileId
Identifiant de profil du message reçu.
[in] msgType
Type de message du profil correspondant.
[in] con
Pointeur vers l'objet WeaveConnection représentant la connexion TCP avec le pair.
[in] handler
Gestionnaire de messages non sollicités
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
Valeurs de retour
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est plein et qu'un nouveau ne peut pas être alloué.
WEAVE_NO_ERROR
Pour la réussite.

RegisterUnsolicitedMessageHandler

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

Enregistre un gestionnaire de messages non sollicités pour un identifiant de profil donné, un type de message sur une connexion Weave spécifiée.

Détails
Paramètres
[in] profileId
Identifiant de profil du message reçu.
[in] msgType
Type de message du profil correspondant.
[in] con
Pointeur vers l'objet WeaveConnection représentant la connexion TCP avec le pair.
[in] handler
Gestionnaire de messages non sollicités
[in] allowDups
Indicateur booléen indiquant si les messages en double sont autorisés pour un identifiant de profil donné, type de message sur une connexion Weave spécifiée.
[in] appState
Un pointeur vers un objet de couche supérieure qui contient l'état du contexte.
Valeurs de retour
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est plein et qu'un nouveau ne peut pas être alloué.
WEAVE_NO_ERROR
Pour la réussite.

Arrêt

WEAVE_ERROR Shutdown(
  void
)

Arrêtez WeaveExchangeManager.

Cette action met fin à cette instance de l'objet et libère toutes les ressources conservées.

Détails
Renvoie
WEAVE_NO_ERROR de manière inconditionnelle.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Annulez l'enregistrement d'un gestionnaire de messages non sollicités pour un identifiant de profil donné.

Détails
Paramètres
[in] profileId
Identifiant de profil du message reçu.
Valeurs de retour
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si le gestionnaire de messages non sollicités correspondant est introuvable.
WEAVE_NO_ERROR
Pour la réussite.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Annulez l'enregistrement d'un gestionnaire de messages non sollicités pour un identifiant de profil et un type de message donnés.

Détails
Paramètres
[in] profileId
Identifiant de profil du message reçu.
[in] msgType
Type de message du profil correspondant.
Valeurs de retour
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si le gestionnaire de messages non sollicités correspondant est introuvable.
WEAVE_NO_ERROR
Pour la réussite.

UnregisterUnsolicitedMessageHandler

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

Annulez l'enregistrement d'un gestionnaire de messages non sollicités pour un identifiant de profil, un type de message et une connexion Weave donnés.

Détails
Paramètres
[in] profileId
Identifiant de profil du message reçu.
[in] msgType
Type de message du profil correspondant.
[in] con
Pointeur vers l'objet WeaveConnection représentant la connexion TCP avec le pair.
Valeurs de retour
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si le gestionnaire de messages non sollicités correspondant est introuvable.
WEAVE_NO_ERROR
Pour la réussite.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Constructeur pour la classe WeaveExchangeManager.

Il définit l'état sur kState_NotInitialized.