nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

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

Abstrakcyjna klasa bazowa dla wydawców WDM dotyczących konkretnych aplikacji.

Podsumowanie

DMPublisher to standardowa klasa bazowa wydawcy WDM. Jest to połączenie klasy ProtocolEngine w DM, która obsługuje wymianę wiadomości, oraz całkowicie abstrakcyjnej klasy PublisherDataManager. Obsługa subskrypcji i powiadomień jest opcjonalna i można ją pominąć, konfigurując tabelę subskrypcji bez wpisów.

Dziedziczenie

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

Konstruktorzy i niszczyciele

DMPublisher(void)
Domyślny konstruktor obiektów DMPublisher.
~DMPublisher(void)
Dekonstruktor obiektów DMPublisher.

Funkcje publiczne

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Wyczyść stan wewnętrzny obiektu DMPublisher.
Finalize(void)
virtual void
Wyłącz działającego DMPublisher.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Obsługa wskazania, że powiązanie się nie udało.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Zainicjuj obiekt DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Odpowiedz na prośbę o aktualizację.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
odpowiedzieć na prośbę o wyświetlenie,

Funkcje publiczne

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Wyczyść

virtual void Clear(
  void
)

Wyczyść stan wewnętrzny obiektu DMPublisher.

Czyści pulę transakcji powiadomień i tabelę subskrypcji.

DMPublisher

 DMPublisher(
  void
)

Domyślny konstruktor obiektów DMPublisher.

Usuwa cały stan wewnętrzny.

Zakończ

virtual void Finalize(
  void
)

Wyłącz działającego DMPublisher.

Usuwa cały stan działania i wyłącza detektor, jeśli jest uruchomiony.

IncompleteIndication

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

Obsługa wskazania, że powiązanie się nie udało.

Gdy powiązanie staje się niekompletne, tj. po zamknięciu połączenia z powodu powiązania TCP, mechanizm protokołu musi zakończyć wszystkie transakcje, które są od niego zależne, w tym wywoływać swoje moduły obsługi stanu. Dodatkowo niepełne oznaczenie jest przekazywane do każdego obiektu klasy nadrzędnej implementującej alternatywną formę tej metody, który przyjmuje identyfikator peera.

Szczegóły
Parametry
[in] aBinding
Wskaźnik nieudanego powiązania.
[in] aReport
Odwołanie do obiektu StatusReport zawierające szczegółowe informacje o przyczynie niepowodzenia.

Zainicjuj

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Zainicjuj obiekt DMPublisher.

Efektem ubocznym tej metody jest zainstalowanie odbiornika w menedżerze giełdy dla pełnego zakresu żądań klienta, w tym żądań dotyczących subskrypcji.

Szczegóły
Parametry
[in] aExchangeMgr
Wskaźnik do obiektu WeaveExchangeManager używany w przypadku wszystkich giełd, w których wydawca chce uczestniczyć.
[in] aResponseTimeout
Limit czasu odpowiedzi w milisekundach, tj. maksymalny czas oczekiwania na odpowiedź.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwróć błąd WEAVE_ERROR z informacją o błędach podczas prawidłowej konfiguracji wydawcy.

Zainicjuj

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Odpowiedz na prośbę o aktualizację.

Po przetworzeniu żądania aktualizacji wyślij odpowiedź, korzystając z kontekstu wymiany podanego we wskazówce.

Szczegóły
Parametry
[in] aResponseCtx
Wskaźnik do kontekstu giełdy, w której zostało odebrane żądanie.
[in] aStatus
Odwołanie do obiektu StatusReport zawierającego informacje o stanie żądania.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zostanie zwrócony błąd WEAVE_ERROR wskazujący, że nie udało się wysłać wiadomości z odpowiedzią.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

odpowiedzieć na prośbę o wyświetlenie,

Po przetworzeniu prośby o wyświetlenie należy wysłać odpowiedź, korzystając z kontekstu wymiany podanego we wskazaniu.

Szczegóły
Parametry
[in] aResponseCtx
Wskaźnik do kontekstu giełdy, w której zostało odebrane żądanie.
[in] aStatus
Odwołanie do obiektu StatusReport zawierającego informacje o stanie żądania. Jeśli wszystko będzie w porządku, osoba zgłaszająca żądanie będzie oczekiwać listy danych zawierającej interesujące go informacje.
[in] aDataList
Wskaźnik do opcjonalnego obiektu ReferencedTLVData zawierającego listę danych zakodowaną w formacie TLV zawierającą interesujące Cię informacje oraz ścieżki wskazujące sposób ich wykorzystania. Pamiętaj, że ten parametr ma wartość NULL w przypadku, gdy stan podany w poprzednim parametrze nie oznacza powodzenia.
Zwracane wartości
WEAVE_NO_ERROR
Na sukces. W innym przypadku zwracaj błąd WEAVE_ERROR z informacją o niepowodzeniu wysłania wiadomości z odpowiedzią.
WEAVE_ERROR_INVALID_ARGUMENT
Jeśli podane parametry są niespójne
WEAVE_ERROR_NO_MEMORY
Jeśli nie udało się przydzielić bufora inet.

~Wydawca DM

virtual  ~DMPublisher(
  void
)

Dekonstruktor obiektów DMPublisher.

Usuwa cały stan wewnętrzny i usuwa detektor z menedżera giełdy, jeśli jest dostępny.