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ę lub powiadomienie. Jest to połączenie klasy DM ProtocolEngine, która obsługuje komunikację, i całkowicie abstrakcyjnej klasy ClientDataManager z niektórymi metodami związanymi z subskrypcjami, dzięki czemu wyższe warstwy nie muszą się o nie martwić.

Moduły obsługi zadań związanych z subskrypcją działają głównie jako „cienki adapter” zamiast obiektu ClientNotifier. Implementatory podklas powinny wywoływać odpowiednie metody superklasy, aby aktywować menedżera subskrypcji.

Metody żądań DMClient mają zwykle 2 podpisy: jeden z określonym 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 na kliencie, ale w pierwszym przypadku identyfikator miejsca docelowego służy do wyboru między wieloma powiązanymi miejscami docelowymi, a w drugim przypadku jako domyślny jest wybierany pierwszy element w tabeli powiązań. Jest to przydatne na przykład wtedy, gdy klient będzie powiązany tylko z jednym wydawcą.

Dziedziczenie

Dziedziczy z:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

Konstruktory 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
Poproś o wyświetlenie opublikowanych danych.
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Poproś o wyświetlenie danych 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 domyślnego 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ść wewnętrzny stan powiązany z obiektem DMClient.
Finalize(void)
virtual void
Wyłącz działającego DMClient.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Radzenie sobie z niekompletnymi informacjami 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
)

Poproś o wyświetlenie opublikowanych danych.

Może poprosić o wyświetlenie danych znajdujących się w określonym zdalnym wydawcy i przez niego zarządzanych.

Szczegóły
Parametry
[in] aDestinationId
Odwołanie do 64-bitowego identyfikatora węzła wydawcy zdalnego.
[in] aPathList
Odwołanie do obiektu ReferencedTLVData zawierającego listę ścieżek zakodowaną w formacie TLV, która wskazuje żądane dane.
[in] aTxnId
Identyfikator transakcji WDM skonfigurowanej do 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
Powodzenie.
WEAVE_ERROR_NO_MEMORY
Jeśli nie udało się przypisać transakcji.
Zwroty
W przeciwnym razie pojawi się komunikat WEAVE_ERROR wskazujący na niepowodzenie zainicjowania lub rozpoczęcia transakcji.

ViewRequest

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

Poproś o wyświetlenie danych domyślnego wydawcy.

Poproś o wyświetlenie danych znajdujących się w „domyślnym miejscu” i nich zarządzanych wydawca, czyli pierwszy (lub jedyne) wydawca w tabeli powiązań klienta.

Szczegóły
Parametry
[in] aPathList
Odwołanie do obiektu ReferencedTLVData zawierającego listę ścieżek zakodowaną w formacie TLV, która wskazuje żądane dane.
[in] aTxnId
Identyfikator transakcji WDM skonfigurowanej do 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
Powodzenie.
WEAVE_ERROR_NO_MEMORY
Jeśli nie udało się przypisać transakcji.
Zwroty
W przeciwnym razie pojawi się komunikat WEAVE_ERROR wskazujący na niepowodzenie zainicjowania lub rozpoczęcia 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
Odwołanie do 64-bitowego identyfikatora węzła wydawcy zdalnego, do którego jest wysyłane żądanie.
[in] aDataList
Odwołanie do obiektu ReferencedTLVData zawierającego listę danych zakodowaną w formacie TLV, zawierającą reprezentację aktualizacji, w tym ścieżki, do których ma zostać zastosowana.
[in] aTxnId
Identyfikator transakcji skonfigurowanej pod kątem 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 udało się przydzielić transakcji aktualizacji. W przeciwnym razie zwraca błąd WEAVE_ERROR z informacją o niepowodzeniu aktualizacji.

UpdateRequest

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

Poproś o aktualizację danych domyślnego 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, w tym ścieżki, do których ma zostać zastosowana.
[in] aTxnId
Identyfikator transakcji skonfigurowanej pod kątem 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 udało się przydzielić transakcji aktualizacji. W przeciwnym razie zwraca błąd WEAVE_ERROR z informacją o niepowodzeniu 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, ale 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
WEAVE_ERROR, które ma zostać zgłoszone w przypadku anulowania transakcji.
Zwroty
WEAVE_NO_ERROR w przypadku powodzenia lub WEAVE_ERROR oznaczający niepowodzenie anulowania transakcji.

Wyczyść

virtual void Clear(
  void
)

Wyczyść wewnętrzny stan powiązany z obiektem DMClient.

W szczególności ta metoda usuwa wszystkie pule transakcji klientów. Klientom, którzy używali metody Finalize(), zaleca się stosowanie metody Finalize(), ponieważ powoduje ona również anulowanie subskrypcji i czyszczenie tabel transakcji i wiązań.

Zobacz też:
Finalize()

DMClient

 DMClient(
  void
)

Domyślny konstruktor obiektów DMClient.

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

Zakończ

virtual void Finalize(
  void
)

Wyłącz działającego DMClient.

Czyści cały stan operacyjny powiązany z klientem i usuwa wszystkie powiązane subskrypcje z powiadomienia. Po wywołaniu Finalize() obiekt DMClient może zostać ponownie zainicjowany przez wywołanie Init(). Funkcja Finalize() jest wywoływana przez destruktor DMClient, ale może być wywoływana w przypadku, gdy polecenie DMClient wymaga wyczyszczenia, np. w przypadku awarii lub tymczasowego wyłączenia, które mogą wymagać przywrócenia w późniejszym czasie.

IncompleteIndication

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

Radzenie sobie z niekompletnymi informacjami powiązania używanego przez klienta.

Gdy powiązanie nieoczekiwanie kończy się niepowodzeniem, np. Wywoływana jest ta metoda, jeśli połączenie związane z powiązaniem zostało zamknięte.

Szczegóły
Parametry
[in] aBinding
wskaźnik do opcji Wiązanie, która jest niekompletna.
[in] aReport
Odwołanie do raportu o stanie z podaniem przyczyny niepowodzenia.

~DMClient

virtual  ~DMClient(
  void
)

Destruktor obiektów DMClient.

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

Funkcje chronione

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)