Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl:: Weben:: Profile:: DataManagement_Legacy:: DMClient

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

Die abstrakte Basisklasse für anwendungsspezifische WDM-Clients.

Zusammenfassung

DMClient ist das Standard - WDM - Client. Die Implementierung umfasst optional ein Abonnement/eine Benachrichtigung. Es ist eine Mischung aus der DM ProtocolEngine - Klasse, die die Comms Griff Kurbel-drehen, und die ganz abstrakt ClientDataManager Klasse, mit einigen der Abonnement-ähnlichen Methoden implementiert , so dass höhere Schichten haben keine Sorgen zu machen über sie.

Die Handler für Abonnement-bezogenen Aufgaben dienen in erster Linie als ein dünner Adapter über das ClientNotifier Objekt. Unterklassen-Implementierer sollten darauf achten, die relevanten Oberklassen-Methoden aufzurufen, um die Abonnement-Manager-Kurbel zu drehen.

DMClient Anforderungsmethoden haben in der Regel 2 Signaturen, ein mit einer expliziten Zielknoten - ID und die andere mit einem festgelegten Ziel. In jedem Fall hängt die Fähigkeit, eine Nachricht an einen Herausgeber zu senden, von einer bereits vorhandenen Bindung im Client ab, aber im ersten Fall soll die Ziel-ID zwischen mehreren gebundenen Zielen und im zweiten Fall dem ersten auswählen Das Element in der Bindungstabelle ist standardmäßig ausgewählt. Dies ist beispielsweise dann sinnvoll, wenn der Client immer nur an einen einzigen Publisher gebunden ist.

Erbe

Erbt von:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

Konstruktoren und Destruktoren

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 Ansicht der 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 der veröffentlichten 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)
Fordern Sie an, dass eine ausgeführte Transaktion abgebrochen wird.
Clear (void)
virtual void
Deaktivieren Sie den internen Zustand in Verbindung mit einem DMClient Objekt.
Finalize (void)
virtual void
Fahren Sie einen Betrieb unten DMClient .
IncompleteIndication ( Binding *aBinding, StatusReport & aReport)
virtual void
Behandeln Sie die "Unvollständigkeit" einer vom Client verwendeten Bindung.

Geschützte Funktionen

NewUpdate (void)
NewView (void)
View *

AnsichtAnfrage

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 angegebenen Remote-Publisher befinden und von diesem verwaltet werden.

Einzelheiten
Parameter
[in] aDestinationId
Ein Verweis auf die 64-Bit-Knoten-ID des Remote-Publishers.
[in] aPathList
Ein Verweis auf ein ReferencedTLVData Objekt eine TLV-kodierte Pfadliste enthält , die angeforderten Daten anzeigt.
[in] aTxnId
Ein Bezeichner für die WDM-Transaktion, die eingerichtet wurde, um diese Ansichtsoperation zu verwalten.
[in] aTimeout
Eine maximale Zeit in Millisekunden, die auf die Antwort der Ansicht gewartet wird.
Rückgabewerte
WEAVE_NO_ERROR
Auf Erfolg.
WEAVE_ERROR_NO_MEMORY
Wenn eine Transaktion nicht zugeordnet werden konnte.
Kehrt zurück
Andernfalls wird ein WEAVE_ERROR reflektiert den Fehler zu initialisieren oder die Transaktion zu starten.

AnsichtAnfrage

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

Fordern Sie eine Ansicht der Daten zum Standard-Publisher an.

Fordern Sie eine Ansicht der Daten an, die sich auf dem "Standard"-Publisher befinden und von diesem verwaltet werden, dh dem ersten (oder einzigen) Herausgeber in der Bindungstabelle des Clients.

Einzelheiten
Parameter
[in] aPathList
Ein Verweis auf ein ReferencedTLVData Objekt eine TLV-kodierte Pfadliste enthält , die angeforderten Daten anzeigt.
[in] aTxnId
Ein Bezeichner für die WDM-Transaktion, die eingerichtet wurde, um diese Ansichtsoperation zu verwalten.
[in] aTimeout
Eine maximale Zeit in Millisekunden, die auf die Antwort der Ansicht gewartet wird.
Rückgabewerte
WEAVE_NO_ERROR
Auf Erfolg.
WEAVE_ERROR_NO_MEMORY
Wenn eine Transaktion nicht zugeordnet werden konnte.
Kehrt zurück
Andernfalls wird ein WEAVE_ERROR reflektiert den Fehler zu initialisieren oder die Transaktion zu starten.

UpdateAnfrage

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.

Fordern Sie an, dass ein Remote-Publisher die verwalteten Daten aktualisiert.

Einzelheiten
Parameter
[in] aDestinationId
Ein Verweis auf die 64-Bit-Knoten-ID des Remote-Publishers, an den die Anforderung gesendet wird.
[in] aDataList
Ein Verweis auf ein ReferencedTLVData Objekt eine TLV-kodierte Datenliste eine Darstellung der Aktualisierung enthält , enthält , einschließlich den Pfade, die das Update angewandt werden soll.
[in] aTxnId
Eine Kennung für die Transaktion, die eingerichtet wurde, um die Aktualisierungsanforderung zu verwalten.
[in] aTimeout
Eine maximale Wartezeit in Millisekunden auf den entsprechenden Statusbericht.
Kehrt zurück
WEAVE_NO_ERROR auf Erfolg oder WEAVE_ERROR_NO_MEMORY , ob eine Update Transaktion nicht zugeordnet werden kann. Ansonsten Rückgabe eine WEAVE_ERROR einen Aktualisierungsfehler zurückzuführen ist .

UpdateAnfrage

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

Fordern Sie eine Aktualisierung der Daten zum Standard-Publisher an.

Fordern Sie an, dass ein Remote-Publisher die verwalteten Daten aktualisiert. Diese Version leitet die Anforderung an den Herausgeber weiter, der das Ziel der Standardbindung des Clients ist.

Einzelheiten
Parameter
[in] aDataList
Ein Verweis auf ein ReferencedTLVData Objekt eine TLV-kodierte Datenliste eine Darstellung der Aktualisierung enthält , enthält , einschließlich den Pfade, die das Update angewandt werden soll.
[in] aTxnId
Eine Kennung für die Transaktion, die eingerichtet wurde, um die Aktualisierungsanforderung zu verwalten.
[in] aTimeout
Eine maximale Wartezeit in Millisekunden auf den entsprechenden Statusbericht.
Kehrt zurück
WEAVE_NO_ERROR auf Erfolg oder WEAVE_ERROR_NO_MEMORY , ob eine Update Transaktion nicht zugeordnet werden kann. Ansonsten Rückgabe eine WEAVE_ERROR einen Aktualisierungsfehler zurückzuführen ist .

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 Netzwerkverkehr, sondern gibt nur Ressourcen frei, die den angegebenen Transaktionen zugewiesen sind.

Einzelheiten
Parameter
[in] aTxnId
Die Nummer der zu stornierenden Transaktion. Wenn kTransactionIdNotSpecified bereitgestellt wird, werden alle Transaktionen abgebrochen.
[in] aError
Die WEAVE_ERROR zu melden , wenn die Transaktion abgebrochen wird .
Kehrt zurück
WEAVE_NO_ERROR auf Erfolg oder einen WEAVE_ERROR einen Fehler reflektiert die Transaktion abzubrechen.

klar

virtual void Clear(
  void
)

Deaktivieren Sie den internen Zustand in Verbindung mit einem DMClient Objekt.

Insbesondere löscht diese Methode alle Client-Transaktionspools. Für Kunden , die die in Gebrauch waren Finalisierung () Methode bevorzugt , da es auch Abonnements und bereinigt um die Transaktion und verbindliche Tabellen aufhebt.

Siehe auch:
Abschließen()

DMClient

 DMClient(
  void
)

Der Standardkonstruktor für DMClient Objekte.

Löscht alle internen Zustände. A DMClient erfordert weitere Initialisierung mit Init () vor der Verwendung.

Abschließen

virtual void Finalize(
  void
)

Fahren Sie einen Betrieb unten DMClient .

Löscht alle dem Client zugeordneten Betriebszustände und entfernt alle zugehörigen Abonnements aus dem Notifier. Nach einem Aufruf zu finalisieren () ein DMClient kann durch den Aufruf von Init () neu initialisiert einfach werden. Finalize () wird durch die aufgerufen DMClient destructor , sondern kann in dem Fall , wo ein aufgerufen werden DMClient Bereinigung erfordert, zum Beispiel im Falle des Scheiterns oder vorübergehende Abschaltung, müssen aber möglicherweise zu einem späteren Zeitpunkt wiederhergestellt werden.

UnvollständigAnzeige

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

Behandeln Sie die "Unvollständigkeit" einer vom Client verwendeten Bindung.

Wenn eine Bindung unerwartet fehlschlägt, zB wenn die an der Bindung beteiligte Verbindung geschlossen wird, wird diese Methode aufgerufen.

Einzelheiten
Parameter
[in] aBinding
Ein Zeiger auf die Bindung , die unvollständig geworden ist.
[in] aReport
Ein Verweis auf einen Statusbericht mit einem Grund für den Fehler.

~DMClient

virtual  ~DMClient(
  void
)

Der Destruktor für DMClient Objekte.

Löscht alle internen Zustände und storniert gegebenenfalls ausstehende Abonnements.

Geschützte Funktionen

Neues Update

Update * NewUpdate(
  void
)

Neue Ansicht

View * NewView(
  void
)