nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

#include <src/lib/profiles/data-management/Legacy/DMPublisher.h>

Classe de base abstraite pour les éditeurs WDM spécifiques à une application.

Résumé

DMPublisher est la classe de base des éditeurs WDM standard. Il s'agit d'une combinaison de la classe DM ProtocolEngine, qui gère le tour de manœuvre des communications, et de la classe PublisherDataManager totalement abstraite. La prise en charge des abonnements et des notifications est facultative et peut être supprimée simplement en configurant une table d'abonnement sans entrée.

Héritage

Hérite de:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Constructeurs et destructeurs

DMPublisher(void)
Constructeur par défaut pour les objets DMPublisher.
~DMPublisher(void)
Destructeur pour les objets DMPublisher.

Fonctions publiques

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Effacez l'état interne de l'objet DMPublisher.
Finalize(void)
virtual void
Arrêtez un DMPublisher en cours d'exploitation.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Gérer les indicateurs d'échec d'une liaison.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Initialisez un objet DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Répondez à une demande de mise à jour.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Répondez à une demande de vue.

Fonctions publiques

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Effacer

virtual void Clear(
  void
)

Effacez l'état interne de l'objet DMPublisher.

Efface le pool de transactions de notification et la table des abonnements.

DMPublisher

 DMPublisher(
  void
)

Constructeur par défaut pour les objets DMPublisher.

Efface tout l'état interne.

Finaliser

virtual void Finalize(
  void
)

Arrêtez un DMPublisher en cours d'exploitation.

Efface tout l'état de fonctionnement et arrête l'écouteur s'il est en cours d'exécution.

IncompleteIndication

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

Gérer les indicateurs d'échec d'une liaison.

Lorsqu'une liaison devient incomplète, c'est-à-dire lorsque la connexion est fermée pour une liaison TCP, le moteur de protocole doit faire échouer toutes les transactions qui en dépendent, ce qui implique d'appeler ses gestionnaires d'état. En outre, l'indication incomplète est transmise à tout objet de super-classe implémentant la forme alternative de cette méthode qui utilise un ID de pair.

Détails
Paramètres
[in] aBinding
Pointeur vers la liaison ayant échoué.
[in] aReport
Référence à un objet StatusReport détaillant la raison de l'échec.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Initialisez un objet DMPublisher.

Cette méthode a pour effet d'installer un écouteur dans le gestionnaire de place de marché pour l'ensemble des requêtes client, y compris celles concernant l'abonnement.

Détails
Paramètres
[in] aExchangeMgr
Pointeur vers l'objet WeaveExchangeManager à utiliser pour toutes les places de marché auxquelles l'éditeur souhaite participer.
[in] aResponseTimeout
Délai avant expiration de la réponse en millisecondes, c'est-à-dire le délai maximal d'attente d'une réponse.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR reflétant que la configuration de l'éditeur n'a pas été effectuée correctement.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Répondez à une demande de mise à jour.

Envoi de la réponse à une requête de mise à jour après son traitement, en utilisant le contexte d'échange indiqué dans l'indication.

Détails
Paramètres
[in] aResponseCtx
Pointeur vers le contexte de la place de marché dans lequel la requête a été reçue.
[in] aStatus
Référence à un objet StatusReport contenant des informations sur l'état de la requête.
Renvoie
WEAVE_NO_ERROR En cas de réussite. Sinon, renvoyez WEAVE_ERROR reflétant l'échec de l'envoi du message de réponse.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

Répondez à une demande de vue.

Envoi de la réponse à une requête de vue après son traitement, en utilisant le contexte de l'échange indiqué dans l'indication.

Détails
Paramètres
[in] aResponseCtx
Pointeur vers le contexte de la place de marché dans lequel la requête a été reçue.
[in] aStatus
Référence à un objet StatusReport contenant des informations sur l'état de la requête. Si la procédure aboutit, le demandeur s'attendra à ce qu'une liste de données contenant les données qui l'intéressent soient données.
[in] aDataList
Pointeur vers un objet facultatif ReferencedTLVData contenant une liste de données encodée en TLV qui contient les données d'intérêt et les chemins indiquant la disposition de ces données. Notez que ce paramètre doit être NULL si l'état indiqué dans le paramètre précédent n'est pas une réussite.
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite. Sinon, renvoyez WEAVE_ERROR reflétant l'échec de l'envoi du message de réponse.
WEAVE_ERROR_INVALID_ARGUMENT
Si les paramètres donnés ne sont pas cohérents
WEAVE_ERROR_NO_MEMORY
Si un tampon Inet n'a pas pu être alloué.

~DMPublisher

virtual  ~DMPublisher(
  void
)

Destructeur pour les objets DMPublisher.

Efface tout l'état interne et supprime l'écouteur du gestionnaire de place de marché, le cas échéant.