nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
Abstrakte Basisklasse für anwendungsspezifische WDM-Clients.
Zusammenfassung
DMClient ist der WDM-Standardclient. Die Implementierung umfasst optional ein Abo oder eine Benachrichtigung. Es ist eine Mischung aus der DM-Klasse ProtocolEngine, die die Kommunikation handhabt, und der vollständig abstrakten ClientDataManager-Klasse mit einigen der abobezogenen Methoden implementiert, sodass sich höhere Ebenen nicht darum kümmern müssen.
Die Handler für Aboaufgaben fungieren hauptsächlich als Thin Adapter über das ClientNotifier-Objekt. Implementierungen von Unterklassen sollten darauf achten, die relevanten Methoden der übergeordneten Klasse aufzurufen, um den Abo-Manager in die richtige Richtung zu lenken.
DMClient-Anfragemethoden haben in der Regel zwei Signaturen, eine mit einer expliziten Zielknoten-ID und die andere mit einem bestimmten 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 die Ziel-ID jedoch zwischen mehreren gebundenen Zielen wählen, und im zweiten Fall wird das erste Element in der Bindungstabelle als Standard ausgewählt. Dies ist beispielsweise nützlich, wenn der Client immer nur an einen einzigen Publisher gebunden sein wird.
Ü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)
Destruktor für DMClient-Objekte
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Sie können eine Ansicht der veröffentlichten Daten anfordern.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Sie können eine Datenansicht der Daten des Standard-Publishers anfordern.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Fordern Sie eine Aktualisierung der veröffentlichten Daten an.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Fordern Sie eine Aktualisierung der Daten des Standard-Publishers an.
|
Geschützte Attribute |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Öffentliche Funktionen |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Fordern Sie an, dass eine ausgeführte Transaktion abgebrochen wird.
|
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
Unvollständige Fehler beheben einer vom Client verwendeten Bindung.
|
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 )
Sie können eine Ansicht der veröffentlichten Daten anfordern.
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 ein WEAVE_ERROR (Fehler beim Initialisieren oder Starten der Transaktion) angezeigt.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Sie können eine Datenansicht der Daten des Standard-Publishers anfordern.
Ansicht der Daten anfordern, die sich auf der Standardeinstellung befinden und von ihr verwaltet werden Publisher, d.h. der erste (oder einzige) Publisher in der Bindungstabelle des Kunden.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
||||||
Rückgabe |
Andernfalls wird ein WEAVE_ERROR (Fehler beim Initialisieren oder Starten der Transaktion) angezeigt.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Fordern Sie eine Aktualisierung der veröffentlichten Daten an.
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 zugeordnet werden konnte Andernfalls wird ein WEAVE_ERROR für das Fehlschlagen der Aktualisierung zurückgegeben.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Fordern Sie eine Aktualisierung der Daten des Standard-Publishers an.
Einen Remote-Publisher bitten, die verwalteten Daten zu aktualisieren Diese Version leitet die Anfrage an den Publisher weiter, der das Ziel der Standardbindung des Kunden ist.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg oder WEAVE_ERROR_NO_MEMORY, wenn eine Aktualisierungstransaktion nicht zugeordnet werden konnte Andernfalls wird ein WEAVE_ERROR für das Fehlschlagen der Aktualisierung zurückgegeben.
|
Geschützte Attribute
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
Öffentliche Funktionen
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Fordern Sie an, dass eine ausgeführte Transaktion abgebrochen wird.
Diese Methode generiert keinen Netzwerktraffic, sondern gibt nur Ressourcen frei, die den angegebenen Transaktionen zugewiesen sind
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg oder WEAVE_ERROR für einen Fehler beim Abbrechen der Transaktion.
|
Löschen
virtual void Clear( void )
Löscht den internen Status, der mit einem DMClient-Objekt verknüpft ist.
Insbesondere löscht diese Methode alle Client-Transaktionspools. Für Kunden, die bereits verwendet wurden, ist die Methode Finalize() vorzuziehen, da damit auch Abonnements 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 Abos aus dem Notifier. Nach einem Aufruf von Finalize() kann ein DMClient einfach durch Aufrufen von Init() neu initialisiert werden. Finalize() wird vom DMClient-Detruktor aufgerufen, kann aber aufgerufen werden, wenn ein DMClient eine Bereinigung erfordert, z.B. im Fall eines Fehlers oder einer vorübergehenden Deaktivierung, muss aber möglicherweise zu einem späteren Zeitpunkt wiederhergestellt werden.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Unvollständige Fehler beheben einer vom Client verwendeten Bindung.
Wenn eine Bindung unerwartet fehlschlägt, z.B. Wenn die an der Bindung beteiligte Verbindung geschlossen ist, wird diese Methode aufgerufen.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
~DMClient
virtual ~DMClient( void )
Destruktor für DMClient-Objekte
Löscht den gesamten internen Status und kündigt bei Bedarf ausstehende Abos.