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
[in] aDestinationId
Odniesienie do 64-bitowego identyfikatora węzła zdalnego wydawcy.
[in] aPathList
Odwołanie do obiektu ReferencedTLVData zawierającego listę ścieżek zakodowaną w formacie TLV wskazującym żądane dane.
[in] aTxnId
Identyfikator transakcji WDM skonfigurowanej na potrzeby zarządzania tą operacją wyświetlania.
[in] aTimeout
Maksymalny czas oczekiwania na odpowiedź dotyczącą wyświetlenia (w milisekundach).
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_NO_MEMORY
Jeśli nie udało się przydzielić transakcji.
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
[in] aPathList
Odwołanie do obiektu ReferencedTLVData zawierającego listę ścieżek zakodowaną w formacie TLV wskazującym żądane dane.
[in] aTxnId
Identyfikator transakcji WDM skonfigurowanej na potrzeby zarządzania tą operacją wyświetlania.
[in] aTimeout
Maksymalny czas oczekiwania na odpowiedź dotyczącą wyświetlenia (w milisekundach).
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_NO_MEMORY
Jeśli nie udało się przydzielić transakcji.
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
[in] aDestinationId
Odniesienie do 64-bitowego identyfikatora węzła zdalnego wydawcy, do którego przesyłane jest żądanie.
[in] aDataList
Odwołanie do obiektu ReferencedTLVData zawierającego listę danych zakodowaną w formacie TLV zawierającą reprezentację aktualizacji wraz ze ścieżkami, do których ma ona zostać zastosowana.
[in] aTxnId
Identyfikator transakcji skonfigurowany do zarządzania żądaniem aktualizacji.
[in] aTimeout
Maksymalny czas oczekiwania na odpowiedni raport o stanie (w milisekundach).
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
[in] aDataList
Odwołanie do obiektu ReferencedTLVData zawierającego listę danych zakodowaną w formacie TLV zawierającą reprezentację aktualizacji wraz ze ścieżkami, do których ma ona zostać zastosowana.
[in] aTxnId
Identyfikator transakcji skonfigurowany do zarządzania żądaniem aktualizacji.
[in] aTimeout
Maksymalny czas oczekiwania na odpowiedni raport o stanie (w milisekundach).
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
[in] aTxnId
Numer transakcji do anulowania. Jeśli zostanie podany parametr kTransactionIdNotSpecified, wszystkie transakcje zostaną anulowane.
[in] aError
Błąd WEAVE_ERROR do zgłoszenia podczas anulowania transakcji.
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
)

Domyślny konstruktor obiektów DMClient.

Usuwa cały stan wewnętrzny. DMClient wymaga dalszego zainicjowania za pomocą Init() przed użyciem.

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
[in] aBinding
Wskaźnik do Wiązania, które jest niekompletne.
[in] aReport
Odniesienie do raportu o stanie razem z informacją o przyczynie niepowodzenia.

~DMClient

virtual  ~DMClient(
  void
)

Destruktor obiektów DMClient.

Usuwa wszystkie dane o stanie wewnętrznym i w razie potrzeby anuluje oczekujące subskrypcje.

Funkcje chronione

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)