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

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

La classe base astratta per i publisher WDM specifici per le applicazioni.

Riepilogo

DMPublisher è la classe base standard del publisher WDM. È una combinazione della classe DM ProtocolEngine, che gestisce l'inversione delle comunicazioni, e della classe PublisherDataManager completamente astratta. Il supporto per l'abbonamento e le notifiche è facoltativo e può essere soppresso semplicemente configurando una tabella di abbonamento senza voci.

Eredità

Eredita da:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Costruttori e distruttori

DMPublisher(void)
Il costruttore predefinito per gli oggetti DMPublisher.
~DMPublisher(void)
Il distruttore per gli oggetti DMPublisher.

Funzioni pubbliche

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Cancella lo stato interno dell'oggetto DMPublisher.
Finalize(void)
virtual void
Arresta un DMPublisher operativo.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Gestisci un'indicazione che segnala che un'associazione non è riuscita.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Inizializza un oggetto DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Rispondere a una richiesta di aggiornamento.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Rispondere a una richiesta di visualizzazione.

Funzioni pubbliche

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Cancella

virtual void Clear(
  void
)

Cancella lo stato interno dell'oggetto DMPublisher.

Cancella il pool di transazioni di notifica e la tabella degli abbonamenti.

DMPublisher

 DMPublisher(
  void
)

Il costruttore predefinito per gli oggetti DMPublisher.

Cancella tutti gli stati interni.

Finalizza

virtual void Finalize(
  void
)

Arresta un DMPublisher operativo.

Cancella tutti gli stati operativi e arresta il listener, se in esecuzione.

IncompleteIndication

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

Gestisci un'indicazione che segnala che un'associazione non è riuscita.

Quando un'associazione diventa incompleta, ovvero quando la connessione viene chiusa per un'associazione TCP, il motore di protocollo deve avere esito negativo per tutte le transazioni che dipendono da questo, inclusa la chiamata dei relativi gestori di stato. Inoltre, l'indicazione incompleta viene passata a qualsiasi oggetto della superclasse che implementa la forma alternativa di questo metodo che accetta un ID peer.

Dettagli
Parametri
[in] aBinding
Un puntatore all'associazione non riuscita.
[in] aReport
Un riferimento a un oggetto StatusReport che descrive in dettaglio il motivo dell'errore.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Inizializza un oggetto DMPublisher.

Questo metodo ha l'effetto collaterale di installare un listener in Exchange Manager per l'intera gamma di richieste del cliente, incluse quelle relative all'abbonamento.

Dettagli
Parametri
[in] aExchangeMgr
Un puntatore all'oggetto WeaveExchangeManager da utilizzare per tutte le piattaforme di scambio a cui il publisher vuole partecipare.
[in] aResponseTimeout
Un timeout di risposta in millisecondi, ovvero il tempo massimo di attesa di una risposta.
Restituisce
WEAVE_NO_ERROR Se l'operazione è andata a buon fine. In caso contrario, restituisci un valore WEAVE_ERROR che indichi un errore di configurazione corretta del publisher.

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
)

Rispondere a una richiesta di aggiornamento.

Invia la risposta a una richiesta di aggiornamento dopo l'elaborazione, utilizzando il contesto dello scambio fornito nell'indicazione.

Dettagli
Parametri
[in] aResponseCtx
Un puntatore al contesto dello scambio in cui è stata ricevuta la richiesta.
[in] aStatus
Un riferimento a un oggetto StatusReport contenente informazioni sullo stato della richiesta.
Restituisce
WEAVE_NO_ERROR Se l'operazione è andata a buon fine. In caso contrario, restituisci WEAVE_ERROR che indica un errore di invio del messaggio di risposta.

ViewResponse

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

Rispondere a una richiesta di visualizzazione.

Invia la risposta a una richiesta di visualizzazione dopo l'elaborazione, utilizzando il contesto dello scambio fornito nell'indicazione.

Dettagli
Parametri
[in] aResponseCtx
Un puntatore al contesto dello scambio in cui è stata ricevuta la richiesta.
[in] aStatus
Un riferimento a un oggetto StatusReport contenente informazioni sullo stato della richiesta. Se l'operazione ha esito positivo, il richiedente si aspetta un elenco di dati contenente i dati di interesse.
[in] aDataList
Un puntatore a un oggetto ReferencedTLVData facoltativo contenente un elenco di dati codificato TLV contenente i dati di interesse e i percorsi che indicano la disposizione di questi dati. Tieni presente che questo parametro deve essere NULL nel caso in cui lo stato specificato nel parametro precedente non abbia successo.
Valori restituiti
WEAVE_NO_ERROR
Un successo. In caso contrario, restituisci un valore WEAVE_ERROR che indichi un errore di invio del messaggio di risposta.
WEAVE_ERROR_INVALID_ARGUMENT
Se i parametri specificati non sono coerenti
WEAVE_ERROR_NO_MEMORY
Se non è stato possibile allocare un buffer Inet.

~DMPublisher

virtual  ~DMPublisher(
  void
)

Il distruttore per gli oggetti DMPublisher.

Cancella tutti gli stati interni e rimuove il listener dal gestore della piattaforma di scambio, se presente.