nl::Weave::Profiles::DataManagement_Legacy::DMClient

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

La classe base astratta per i client WDM specifici dell'applicazione.

Riepilogo

DMClient è il client WDM standard. L'implementazione include facoltativamente un abbonamento/una notifica. È una combinazione della classe DM ProtocolEngine, che gestisce l'inversione delle comunicazioni, e della classe ClientDataManager completamente astratta, con alcuni metodi relativi all'abbonamento implementati in modo che i livelli più alti non debbano preoccuparsene.

I gestori per le attività relative agli abbonamenti agiscono principalmente come un adattatore thin rispetto all'oggetto ClientNotifier. Gli utenti che implementano le sottoclassi devono assicurarsi di chiamare i metodi pertinenti della superclasse per attivare la gestione degli abbonamenti.

I metodi di richiesta DMClient hanno in genere due firme, una con un ID nodo di destinazione esplicito e l'altra con una destinazione specificata. In entrambi i casi, la possibilità di inviare un messaggio a un publisher dipende da un'associazione preesistente nel client, ma, nel primo caso, l'ID destinazione deve selezionare tra più destinazioni associate e, nel secondo caso, il primo elemento della tabella di associazione viene selezionato per impostazione predefinita. Questa opzione è utile, ad esempio, se il cliente viene vincolato a un solo publisher.

Eredità

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

Costruttori e distruttori

DMClient(void)
Il costruttore predefinito per gli oggetti DMClient.
~DMClient(void)
Il distruttore per gli oggetti DMClient.
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Richiedi una visualizzazione dei dati pubblicati.
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Richiedi una visualizzazione dei dati sul publisher predefinito.
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Richiedi un aggiornamento dei dati pubblicati.
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Richiedi un aggiornamento dei dati relativi al publisher predefinito.

Attributi protetti

mUpdatePool[kUpdatePoolSize]
mViewPool[kViewPoolSize]

Funzioni pubbliche

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Richiedi l'annullamento di una transazione in esecuzione.
Clear(void)
virtual void
Cancella lo stato interno associato a un oggetto DMClient.
Finalize(void)
virtual void
Arresta un DMClient operativo.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Gestire l'elemento "incompleto" di un'associazione in uso dal client.

Funzioni protette

NewUpdate(void)
Update *
NewView(void)
View *

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Richiedi una visualizzazione dei dati pubblicati.

Richiedi una visualizzazione dei dati che risiedono e gestiti da un publisher remoto specificato.

Dettagli
Parametri
[in] aDestinationId
Un riferimento all'ID nodo a 64 bit del publisher remoto.
[in] aPathList
Un riferimento a un oggetto ReferencedTLVData contenente un elenco di percorsi con codifica TLV che indica i dati richiesti.
[in] aTxnId
Un identificatore della transazione WDM configurata per gestire questa operazione di visualizzazione.
[in] aTimeout
Il tempo massimo di attesa in millisecondi di attesa della risposta della visualizzazione.
Valori restituiti
WEAVE_NO_ERROR
Un successo.
WEAVE_ERROR_NO_MEMORY
Se non è stato possibile allocare una transazione.
Restituisce
In caso contrario, viene visualizzato un messaggio WEAVE_ERROR che indica l'errore di inizializzazione o avvio della transazione.

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Richiedi una visualizzazione dei dati sul publisher predefinito.

Richiedi una visualizzazione dei dati che risiedono e gestiti dal "predefinito" publisher, ovvero il primo (o l'unico) publisher nella tabella di associazione del cliente.

Dettagli
Parametri
[in] aPathList
Un riferimento a un oggetto ReferencedTLVData contenente un elenco di percorsi con codifica TLV che indica i dati richiesti.
[in] aTxnId
Un identificatore della transazione WDM configurata per gestire questa operazione di visualizzazione.
[in] aTimeout
Il tempo massimo di attesa in millisecondi di attesa della risposta della visualizzazione.
Valori restituiti
WEAVE_NO_ERROR
Un successo.
WEAVE_ERROR_NO_MEMORY
Se non è stato possibile allocare una transazione.
Restituisce
In caso contrario, viene visualizzato un messaggio WEAVE_ERROR che indica l'errore di inizializzazione o avvio della transazione.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Richiedi un aggiornamento dei dati pubblicati.

Richiedi che un publisher remoto aggiorni i dati gestiti.

Dettagli
Parametri
[in] aDestinationId
Un riferimento all'ID nodo a 64 bit del publisher remoto a cui viene inviata la richiesta.
[in] aDataList
Un riferimento a un oggetto ReferencedTLVData che contiene un elenco di dati codificati TLV contenente una rappresentazione dell'aggiornamento che include i percorsi a cui deve essere applicato l'aggiornamento.
[in] aTxnId
Identificatore della transazione configurata per gestire la richiesta di aggiornamento.
[in] aTimeout
Un tempo massimo in millisecondi di attesa per il report di stato corrispondente.
Restituisce
WEAVE_NO_ERROR se l'operazione è andata a buon fine o WEAVE_ERROR_NO_MEMORY se non è stato possibile allocare una transazione di aggiornamento. In caso contrario, restituisci un errore WEAVE_ERROR che indica un errore di aggiornamento.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Richiedi un aggiornamento dei dati relativi al publisher predefinito.

Richiedi che un publisher remoto aggiorni i dati gestiti. Questa versione indirizza la richiesta al publisher target dell'associazione predefinita del client.

Dettagli
Parametri
[in] aDataList
Un riferimento a un oggetto ReferencedTLVData che contiene un elenco di dati codificati TLV contenente una rappresentazione dell'aggiornamento che include i percorsi a cui deve essere applicato l'aggiornamento.
[in] aTxnId
Identificatore della transazione configurata per gestire la richiesta di aggiornamento.
[in] aTimeout
Un tempo massimo in millisecondi di attesa per il report di stato corrispondente.
Restituisce
WEAVE_NO_ERROR se l'operazione è andata a buon fine o WEAVE_ERROR_NO_MEMORY se non è stato possibile allocare una transazione di aggiornamento. In caso contrario, restituisci un errore WEAVE_ERROR che indica un errore di aggiornamento.

Attributi protetti

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

Funzioni pubbliche

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Richiedi l'annullamento di una transazione in esecuzione.

Questo metodo non genera traffico di rete, ma rilascia solo risorse allocate per le transazioni specificate

Dettagli
Parametri
[in] aTxnId
Il numero della transazione da annullare. Se viene fornito kTransactionIdNotSpecified, tutte le transazioni verranno annullate.
[in] aError
L'elemento WEAVE_ERROR da segnalare in caso di annullamento della transazione.
Restituisce
WEAVE_NO_ERROR in caso di esito positivo o WEAVE_ERROR che indica un errore di annullamento della transazione.

Cancella

virtual void Clear(
  void
)

Cancella lo stato interno associato a un oggetto DMClient.

In particolare, questo metodo cancella tutti i pool di transazioni client. Per i clienti che sono già in uso, è preferibile il metodo Finalize(), in quanto annulla anche gli abbonamenti ed elimina le tabelle delle transazioni e di associazione.

Vedi anche:
Finalizza()

DMClient

 DMClient(
  void
)

Il costruttore predefinito per gli oggetti DMClient.

Cancella tutti gli stati interni. Un DMClient richiede un'ulteriore inizializzazione con Init() prima dell'uso.

Finalizza

virtual void Finalize(
  void
)

Arresta un DMClient operativo.

Cancella tutti gli stati operativi associati al client e rimuove tutte le sottoscrizioni correlate dall'autore della notifica. Dopo una chiamata a Finalize(), un DMClient può essere reinizializzato semplicemente chiamando Init(). Finalize() viene richiamato dal distruttore DMClient, ma può essere chiamato nel caso in cui DMClient richieda la pulizia, ad esempio. in caso di errore o di arresto temporaneo, ma potrebbe essere necessario ricostituire il server in un secondo momento.

IncompleteIndication

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

Gestire il "completamento" di un'associazione in uso dal client.

Quando un'associazione non riesce in modo imprevisto, ad esempio. Se la connessione coinvolta nell'associazione viene chiusa, viene chiamato questo metodo.

Dettagli
Parametri
[in] aBinding
Un puntatore all'associazione che è diventata incompleta.
[in] aReport
Un riferimento a un report di stato che fornisce il motivo dell'errore.

~DMClient

virtual  ~DMClient(
  void
)

Il distruttore per gli oggetti DMClient.

Cancella tutti gli stati interni e, se necessario, annulla gli abbonamenti in sospeso.

Funzioni protette

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)