nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
Die abstrakte Basisklasse für anwendungsspezifische WDM-Clients.
Zusammenfassung
DMClient ist der Standard-WDM-Client. Die Implementierung umfasst optional Abos/Benachrichtigungen. Es ist eine Mischung aus der DM-Klasse ProtocolEngine, die die Kommunikation abwickelt, und der komplett abstrakten ClientDataManager-Klasse, wobei einige der abobezogenen Methoden implementiert wurden, damit sich höhere Ebenen nicht darum kümmern müssen.
Die Handler für abobezogene Aufgaben dienen hauptsächlich als schlanker Adapter für das ClientNotifier-Objekt. Implementierer von Unterklassen sollten darauf achten, die entsprechenden Methoden der übergeordneten Klasse aufzurufen, um den Abo-Manager in Schwung zu bringen.
DMClient-Anfragemethoden haben in der Regel zwei Signaturen: eine mit einer expliziten Zielknoten-ID und die andere mit einem angegebenen Ziel. In beiden Fällen hängt die Fähigkeit, eine Nachricht an einen Publisher zu senden, von einer bereits vorhandenen Bindung im Client ab. Im ersten Fall soll jedoch die Ziel-ID zwischen mehreren gebundenen Zielen wählen. Im zweiten Fall wird das erste Element in der Bindungstabelle standardmäßig ausgewählt. Dies ist beispielsweise nützlich, wenn der Kunde immer nur an einen einzigen Publisher gebunden ist.
Übernahme
Übernimmt von:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
Konstruktoren und Zerstörer |
|
---|---|
DMClient(void)
Der Standardkonstruktor für DMClient-Objekte.
|
|
~DMClient(void)
Der Destruktor für DMClient-Objekte.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Fordern Sie eine Ansicht der veröffentlichten Daten an.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Fordern Sie eine Datenansicht mit Daten zum Standard-Publisher an.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Fordern Sie eine Aktualisierung veröffentlichter Daten an.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Fordern Sie eine Aktualisierung der Daten zum Standard-Publisher an.
|
Geschützte Attribute |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Öffentliche Funktionen |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Beantragen Sie die Stornierung einer ausgeführten Transaktion.
|
Clear(void)
|
virtual void
Löscht den internen Status, der mit einem DMClient-Objekt verknüpft ist.
|
Finalize(void)
|
virtual void
Fahren Sie einen aktiven DMClient herunter.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
Verarbeitet die „Unvollständigkeit“ einer Bindung, die vom Client verwendet wird.
|
Geschützte Funktionen |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Fordern Sie eine Ansicht der veröffentlichten Daten an.
Fordern Sie eine Ansicht der Daten an, die sich auf einem bestimmten Remote-Publisher befinden und von diesem verwaltet werden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
||||||||
Rückgabe |
Andernfalls wird WEAVE_ERROR angezeigt, das angibt, dass die Transaktion nicht initialisiert oder gestartet werden konnte.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Fordern Sie eine Datenansicht mit Daten zum Standard-Publisher an.
Fordern Sie eine Ansicht der Daten an, die sich auf dem Standard-Publisher befinden und von diesem verwaltet werden, d.h. dem ersten (oder einzigen) Publisher in der Bindungstabelle des Kunden.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
||||||
Rückgabe |
Andernfalls wird WEAVE_ERROR angezeigt, das angibt, dass die Transaktion nicht initialisiert oder gestartet werden konnte.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Fordern Sie eine Aktualisierung veröffentlichter Daten an.
Sie können einen Remote-Publisher bitten, die verwalteten Daten zu aktualisieren.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg oder WEAVE_ERROR_NO_MEMORY, wenn eine Aktualisierungstransaktion nicht zugewiesen werden konnte. Andernfalls wird WEAVE_ERROR zurückgegeben, was einen Aktualisierungsfehler anzeigt.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Fordern Sie eine Aktualisierung der Daten zum Standard-Publisher an.
Sie können einen Remote-Publisher bitten, die verwalteten Daten zu aktualisieren. Diese Version leitet die Anfrage an den Publisher weiter, der das Ziel der Standardbindung des Clients ist.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg oder WEAVE_ERROR_NO_MEMORY, wenn eine Aktualisierungstransaktion nicht zugewiesen werden konnte. Andernfalls wird WEAVE_ERROR zurückgegeben, was einen Aktualisierungsfehler anzeigt.
|
Geschützte Attribute
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
Öffentliche Funktionen
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Beantragen Sie die Stornierung einer ausgeführten Transaktion.
Diese Methode generiert keinen Netzwerkverkehr, sondern gibt nur Ressourcen frei, die für die angegebenen Transaktionen zugewiesen sind.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg oder WEAVE_ERROR, das auf einen Fehler beim Abbrechen der Transaktion hinweist.
|
Klar
virtual void Clear( void )
Löscht den internen Status, der mit einem DMClient-Objekt verknüpft ist.
Mit dieser Methode werden insbesondere alle Clienttransaktionspools gelöscht. Für Clients, die bisher die Methode Finalize() verwendet haben, ist die Methode zu bevorzugen, da damit auch Abos gekündigt und die Transaktions- und Bindungstabellen bereinigt werden.
Weitere Informationen:Finalize()
DMClient
DMClient( void )
Abschließen
virtual void Finalize( void )
Fahren Sie einen aktiven DMClient herunter.
Löscht den gesamten mit dem Client verknüpften Betriebsstatus und entfernt alle zugehörigen Abonnements aus dem Notifier. Nach einem Aufruf von Finalize() kann ein DMClient einfach durch Aufrufen von „Init()“ neu initialisiert werden. Finalize() wird vom DMClient-Destruktor aufgerufen, kann aber aufgerufen werden, wenn ein DMClient eine Bereinigung benötigt, z.B. bei einem Fehler oder einem vorübergehenden Herunterfahren, aber möglicherweise zu einem späteren Zeitpunkt neu erstellt werden muss.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Verarbeitet die „Unvollständigkeit“ einer Bindung, die vom Client verwendet wird.
Wenn eine Bindung unerwartet fehlschlägt, z.B. wenn die an der Bindung beteiligte Verbindung geschlossen wird, wird diese Methode aufgerufen.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
~DMClient
virtual ~DMClient( void )
Der Destruktor für DMClient-Objekte.
Löscht alle internen Status und kündigt bei Bedarf ausstehende Abos.