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. Facoltativamente, l'implementazione include l'abbonamento/la notifica. È un mix della classe DM ProtocolEngine, che gestisce le comunicazioni crank-turning, e la classe ClientDataManager completamente astratta, con alcuni dei metodi relativi agli abbonamenti implementati in modo che i livelli più alti non debbano preoccuparsene.
I gestori per le attività relative agli abbonamenti agiscono principalmente come un adattatore sottile sull'oggetto ClientNotifier. Gli utenti che implementano le sottoclassi dovrebbero fare attenzione a chiamare i metodi super-classi pertinenti per far funzionare la gestione degli abbonamenti.
I metodi di richiesta DMClient generalmente hanno 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 è destinato a scegliere tra più destinazioni associate e, nel secondo, il primo elemento della tabella di associazione viene selezionato per impostazione predefinita. Ciò è utile, ad esempio, se il cliente viene associato 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
Gestisci il "completamento" di un'associazione in uso da parte del 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 residenti e gestiti da un publisher remoto specificato.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
||||||||
Restituisce |
In caso contrario, viene visualizzato un messaggio WEAVE_ERROR che indica l'impossibilità di inizializzare o avviare la 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 sono gestiti dal publisher "predefinito", ovvero il primo (o unico) publisher nella tabella di associazione del cliente.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
||||||
Restituisce |
In caso contrario, viene visualizzato un messaggio WEAVE_ERROR che indica l'impossibilità di inizializzare o avviare la transazione.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Richiedi un aggiornamento dei dati pubblicati.
Richiedere a un publisher remoto di aggiornare i dati in gestione.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Restituisce |
WEAVE_NO_ERROR in caso di esito positivo o WEAVE_ERROR_NO_MEMORY se non è stato possibile allocare una transazione di aggiornamento. Altrimenti, restituisci un WEAVE_ERROR che rifletta 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.
Richiedere a un publisher remoto di aggiornare i dati in gestione. Questa versione indirizza la richiesta al publisher di destinazione dell'associazione predefinita del cliente.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Restituisce |
WEAVE_NO_ERROR in caso di esito positivo o WEAVE_ERROR_NO_MEMORY se non è stato possibile allocare una transazione di aggiornamento. Altrimenti, restituisci un WEAVE_ERROR che rifletta 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 le risorse allocate per le transazioni specificate
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
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 hanno utilizzato è preferibile il metodo Finalize() poiché consente di annullare anche gli abbonamenti e di ripulire le tabelle delle transazioni e delle associazioni.
Vedi anche:Finalize()
DMClient
DMClient( void )
Finalizza
virtual void Finalize( void )
Arresta un DMClient operativo.
Cancella tutto lo stato operativo associato al client e rimuove tutte le sottoscrizioni correlate dall'utilità di notifica. Dopo una chiamata a Finalize(), è possibile reinizializzare un DMClient semplicemente chiamando Init(). La funzione Finalize() viene richiamata dal distruttore DMClient ma può essere chiamata nel caso in cui DMClient richieda la pulizia, ad esempio in caso di errore o di arresto temporaneo, ma potrebbe essere necessario ricostituire in un secondo momento.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Gestisci il "completamento" di un'associazione in uso da parte del client.
Questo metodo viene chiamato quando un'associazione si arresta in modo imprevisto, ad esempio se la connessione coinvolta nell'associazione è chiusa.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
~DMClient
virtual ~DMClient( void )
Il distruttore per gli oggetti DMClient.
Cancella tutto lo stato interno e, se necessario, annulla gli abbonamenti in sospeso.