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 agit au nom des couches supérieures, en créant ExchangeContexts et en gérant l'enregistrement ou l'annulation de l'enregistrement des gestionnaires de messages non sollicités.

Constructeurs et destructeurs

WeaveExchangeManager(void)
Constructeur de la classe WeaveExchangeManager.

Types publics

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
énum

Attributs publics

FabricState
[READ ONLY] Objet FabricState associé.
MessageLayer
[READ ONLY] Objet WeaveMessageLayer associé.
State
uint8_t
[READ ONLY] État de l'objet WeaveExchangeManager.

Fonctions publiques

AllowUnsolicitedMessages(WeaveConnection *con)
void
Autoriser la réception de messages non sollicités sur la connexion spécifiée.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
Effacez 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 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 pair donné spécifié par l'identifiant du nœud pair.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Crée un ExchangeContext avec un nœud de pair Weave donné spécifié par l'identifiant du nœud pair 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 de pair Weave donné spécifié par l'identifiant du nœud 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 un WeaveConnection spécifié.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Enregistrer un gestionnaire de messages non sollicités pour un identifiant de profil donné
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Enregistrer 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)
Enregistrer 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)
Enregistrer 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)
Annuler 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 WeaveExchangeManager est initialisé.

kState_NotInitialized

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

Attributs publics

FabricState

WeaveFabricState * FabricState

[READ ONLY] Objet FabricState associé.

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] Objet WeaveMessageLayer associé.

État

uint8_t State

[READ ONLY] État de l'objet WeaveExchangeManager.

Fonctions publiques

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Autoriser 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
)

Effacez 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 ExchangeContext dans un pool correspondant à un ensemble de paramètres donné.

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair avec lequel le paramètre ExchangeContext a été configuré.
[in] con
Pointeur vers l'objet WeaveConnection représentant la connexion TCP avec le pair.
[in] appState
Pointeur vers un objet de couche supérieure contenant l'état du contexte.
[in] isInitiator
Indicateur booléen qui détermine 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 n'est appelée qu'une seule fois après la construction de l'objet, jusqu'à ce qu'un appel à l'arrêt soit effectué pour arrêter l'instance.

Détails
Paramètres
[in] msgLayer
Un pointeur vers l'objet WeaveMessageLayer.
Valeurs renvoyées
WEAVE_ERROR_INCORRECT_STATE
Si l'état n'est pas égal à kState_NotInitialized.
WEAVE_NO_ERROR
En cas de réussite.

NewBinding

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

Allouez une nouvelle liaison avec les arguments fournis.

Détails
Paramètres
[in] eventCallback
Pointeur de fonction à utiliser pour le rappel d'événement
[in] appState
Pointeur vers un contexte qui serait utilisé ultérieurement dans un rappel d'événement
Renvoie
Pointeur vers la liaison Binding 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 pair donné spécifié par l'identifiant du nœud pair.

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

NewContext

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

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

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair avec lequel le ExchangeContext est configuré.
[in] peerAddr
Adresse IP du nœud pair.
[in] appState
Pointeur vers un objet de couche supérieure contenant 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 de pair Weave donné spécifié par l'identifiant du nœud pair, l'adresse IP du pair et le port de destination sur une interface spécifiée.

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair avec lequel le 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
Pointeur vers un objet de couche supérieure contenant 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 un WeaveConnection spécifié.

Détails
Paramètres
[in] con
Pointeur vers l'objet WeaveConnection représentant la connexion TCP avec le pair.
[in] appState
Pointeur vers un objet de couche supérieure contenant 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
)

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

Ce gestionnaire serait 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
Pointeur vers un objet de couche supérieure contenant l'état du contexte.
Valeurs renvoyées
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est saturé et qu'aucun nouveau gestionnaire ne peut être alloué.
WEAVE_NO_ERROR
En cas de réussite.

RegisterUnsolicitedMessageHandler

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

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

Ce gestionnaire serait 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 qui détermine si les messages en double sont autorisés pour un profil donné.
[in] appState
Pointeur vers un objet de couche supérieure contenant l'état du contexte.
Valeurs renvoyées
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est saturé et qu'aucun nouveau gestionnaire ne peut être alloué.
WEAVE_NO_ERROR
En cas de réussite.

RegisterUnsolicitedMessageHandler

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

Enregistrer 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
Pointeur vers un objet de couche supérieure contenant l'état du contexte.
Valeurs renvoyées
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est saturé et qu'aucun nouveau gestionnaire ne peut être alloué.
WEAVE_NO_ERROR
En cas de réussite.

RegisterUnsolicitedMessageHandler

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

Enregistrer 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 qui détermine si des messages en double sont autorisés pour un identifiant de profil et un type de message donnés.
[in] appState
Pointeur vers un objet de couche supérieure contenant l'état du contexte.
Valeurs renvoyées
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est saturé et qu'aucun nouveau gestionnaire ne peut être alloué.
WEAVE_NO_ERROR
En cas de 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
Pointeur vers un objet de couche supérieure contenant l'état du contexte.
Valeurs renvoyées
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est saturé et qu'aucun nouveau gestionnaire ne peut être alloué.
WEAVE_NO_ERROR
En cas de 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 des messages en double sont autorisés pour un identifiant de profil donné, type de message sur une connexion Weave spécifiée.
[in] appState
Pointeur vers un objet de couche supérieure contenant l'état du contexte.
Valeurs renvoyées
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si le pool de gestionnaires de messages non sollicités est saturé et qu'aucun nouveau gestionnaire ne peut être alloué.
WEAVE_NO_ERROR
En cas de 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 renvoyées
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si le gestionnaire de messages non sollicités correspondant est introuvable.
WEAVE_NO_ERROR
En cas de 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 renvoyées
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si le gestionnaire de messages non sollicités correspondant est introuvable.
WEAVE_NO_ERROR
En cas de réussite.

UnregisterUnsolicitedMessageHandler

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

Annuler 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 renvoyées
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si le gestionnaire de messages non sollicités correspondant est introuvable.
WEAVE_NO_ERROR
En cas de réussite.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Constructeur de la classe WeaveExchangeManager.

Elle définit l'état sur kState_NotInitialized.