nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
Abstrakcyjna klasa bazowa dla klientów WDM specyficznych dla aplikacji.
Podsumowanie
DMClient to standardowy klient WDM. Implementacja opcjonalnie obejmuje subskrypcję/powiadomienie. Jest to połączenie klasy ProtocolEngine w DM, która zajmuje się obracaniem komunikacją, oraz całkowicie abstrakcyjnej klasy ClientDataManager z zaimplementowanymi metodami dotyczącymi subskrypcji, dzięki którym wyższe warstwy nie muszą się nimi przejmować.
Moduły obsługi zadań związanych z subskrypcją działają głównie jako wąski adapter zamiast obiektu ClientNotifier. Osoby wdrażające podklasy powinny wywoływać odpowiednie metody klasy superklasy, aby zwiększyć ruch menedżera subskrypcji.
Metody żądań DMClient zwykle mają 2 podpisy – jeden z wyraźnym identyfikatorem węzła docelowego, a drugi z określonym miejscem docelowym. W obu przypadkach możliwość wysłania wiadomości do wydawcy zależy od istniejącego powiązania w kliencie, ale w pierwszym przypadku identyfikator miejsca docelowego ma na celu wybór między wieloma powiązanymi miejscami docelowymi, a w drugim przypadku pierwszy element w tabeli powiązań jest wybierany jako domyślny. Jest to przydatne np. wtedy, gdy klient jest zawsze powiązany tylko z jednym wydawcą.
Dziedziczenie
Dziedziczy z:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
Konstruktorzy i niszczyciele |
|
---|---|
DMClient(void)
Domyślny konstruktor obiektów DMClient.
|
|
~DMClient(void)
Destruktor obiektów DMClient.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Możesz poprosić o wyświetlenie opublikowanych danych.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Możesz poprosić o widok danych na temat domyślnego wydawcy.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Poproś o aktualizację opublikowanych danych.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Poproś o aktualizację danych o domyślnym wydawcy.
|
Atrybuty chronione |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Funkcje publiczne |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Poproś o anulowanie realizowanej transakcji.
|
Clear(void)
|
virtual void
Wyczyść stan wewnętrzny powiązany z obiektem DMClient.
|
Finalize(void)
|
virtual void
Wyłącz działającego DMClient.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
Obsługa „braku realizacji” powiązania używanego przez klienta.
|
Funkcje chronione |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Możesz poprosić o wyświetlenie opublikowanych danych.
Możesz poprosić o wyświetlenie danych znajdujących się u określonego wydawcy zdalnego i przez niego zarządzanych.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
||||||||
Zwroty |
W przeciwnym razie pojawi się komunikat WEAVE_ERROR oznaczający, że nie udało się zainicjować lub uruchomić transakcji.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Możesz poprosić o widok danych na temat domyślnego wydawcy.
Możesz zażądać widoku danych znajdujących się u „domyślnego” wydawcy i zarządzanego przez niego, tj. pierwszego (lub jedynego) wydawcy w tabeli powiązań klienta.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
||||||
Zwroty |
W przeciwnym razie pojawi się komunikat WEAVE_ERROR oznaczający, że nie udało się zainicjować lub uruchomić transakcji.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Poproś o aktualizację opublikowanych danych.
Poproś wydawcę zdalnego o zaktualizowanie zarządzanych danych.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia lub WEAVE_ERROR_NO_MEMORY, jeśli nie można przydzielić transakcji aktualizacji. W przeciwnym razie zwraca błąd WEAVE_ERROR (błąd aktualizacji).
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Poproś o aktualizację danych o domyślnym wydawcy.
Poproś wydawcę zdalnego o zaktualizowanie zarządzanych danych. Ta wersja kieruje żądanie do wydawcy, który jest celem domyślnego powiązania klienta.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia lub WEAVE_ERROR_NO_MEMORY, jeśli nie można przydzielić transakcji aktualizacji. W przeciwnym razie zwraca błąd WEAVE_ERROR (błąd aktualizacji).
|
Atrybuty chronione
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
Funkcje publiczne
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Poproś o anulowanie realizowanej transakcji.
Ta metoda nie generuje ruchu sieciowego, a jedynie zwalnia zasoby przydzielone do określonych transakcji
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR w przypadku pomyślnego zakończenia transakcji lub WEAVE_ERROR (błędem anulowania transakcji).
|
Wyczyść
virtual void Clear( void )
Wyczyść stan wewnętrzny powiązany z obiektem DMClient.
W szczególności ta metoda czyści wszystkie pule transakcji klienta. W przypadku klientów, którzy korzystali z metody Finalize(), jest ona preferowana, ponieważ anuluje ona też subskrypcje oraz czyści transakcje i tabele powiązań.
Zobacz też:Finalize()
DMClient
DMClient( void )
Zakończ
virtual void Finalize( void )
Wyłącz działającego DMClient.
Usuwa cały stan operacji powiązany z klientem i usuwa wszystkie powiązane subskrypcje z powiadomień. Po wywołaniu Finalize() można ponownie zainicjować DMClient przez wywołanie Init(). Destruktor Finalize() jest wywoływany przez destruktor DMClient, ale może być wywołany w przypadku, gdy DMClient wymaga czyszczenia, np. w przypadku awarii lub tymczasowego wyłączenia, ale w późniejszym czasie może być konieczne jego ponowne utworzenie.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Obsługa „braku realizacji” powiązania używanego przez klienta.
Gdy powiązanie nieoczekiwanie się nie uda, np. zamykane jest połączenie, wywoływana jest metoda.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
~DMClient
virtual ~DMClient( void )
Destruktor obiektów DMClient.
Usuwa wszystkie dane o stanie wewnętrznym i w razie potrzeby anuluje oczekujące subskrypcje.