nl::Weave::Profiles::DataManagement_Legacy

Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla profilu zarządzania danymi Weave Data Management (WDM), które zostaną wkrótce wycofane.

Podsumowanie

Wyliczenia

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum | typ wyliczeniowy
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
enum | typ wyliczeniowy
Rozmiary pul i tabel WDM.
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
enum | typ wyliczeniowy
Typy komunikatów profilu WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum | typ wyliczeniowy
Inne stałe specyficzne dla WDM.
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum | typ wyliczeniowy
Kody stanu specyficzne dla WDM.
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
enum | typ wyliczeniowy
Tagi protokołu zarządzania danymi (Data Management Protocol).
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum | typ wyliczeniowy
Wyróżniające się identyfikatory tematów.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum | typ wyliczeniowy
Opcje transportu WDM.

Definicje typów

TopicIdentifier typedef
uint64_t
Identyfikator tematu.

Funkcje

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Sprawdź, czy odczytywany element TLV ma oczekiwany typ TLV.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Sprawdź tag WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Przestań odczytywać element listy danych WDM.
CloseList(nl::Weave::TLV::TLVReader & aReader)
Zatrzymaj odczytywanie ścieżki lub listy danych WDM.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Zakoduj ścieżkę WDM z wycofanymi tagami i identyfikatorem instancji będącym liczbą całkowitą.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Zakoduj ścieżkę WDM z wycofanymi tagami i identyfikatorem instancji ciągu znaków.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Zakoduj ścieżkę WDM za pomocą identyfikatora instancji profilu składającego się z liczby całkowitej.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
Zakoduj ścieżkę WDM za pomocą identyfikatora instancji w tablicy bajtów.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Zakoduj ścieżkę WDM za pomocą identyfikatora instancji ciągu znaków.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Zakończ pisanie elementu listy danych.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
Zakończ tworzenie listy ścieżek lub danych.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Zakończ tworzenie listy ścieżek lub danych.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Sprawdź, czy identyfikator tematu jest przypisany do wydawcy.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
Zacznij odczytywać listę danych.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Rozpocznij odczytywanie elementu listy danych.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
Rozpocznij odczytywanie listy ścieżek.
PublisherSpecificTopicId(void)
Wygeneruj od podstaw identyfikator tematu dla wydawcy.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
Zacznij tworzyć listę danych.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
Zacznij zapisywać listę danych w obrębie danego obiektu ReferencedTLVData.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Zacznij pisać element listy danych.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
Zacznij pisać listę ścieżek.
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
void
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
Sprawdź, czy odczytywany element TLV ma oczekiwany typ TLV.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Sprawdź, czy odczytywany element TLV zawiera oczekiwany tag WDM.

Zajęcia

nl::Weave::Profiles::DataManagement_Legacy::Binding

Klasa Binding zarządza stanem komunikacji w imieniu jednostki aplikacji za pomocą Weave.

nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

Klasa abstrakcyjna zawierająca definicje metod potwierdzania i oznaczenia wymagane przez klienta WDM.

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

Klasa pomocnicza stosowana, gdy w kliencie WDM wymagana jest obsługa subskrypcji i powiadomień.

nl::Weave::Profiles::DataManagement_Legacy::DMClient

Abstrakcyjna klasa bazowa dla klientów WDM specyficznych dla aplikacji.

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

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

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

Abstrakcyjna klasa pomocnicza ProfileDatabase.

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine

Klasa protokołu WDM.

nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Klasa abstrakcyjna zawierająca definicje metod potwierdzania i powiadomień wymagane przez wydawcę WDM.

Wyliczenia

@103

 @103
Właściwości
kStatus_CancelSuccess

Ten kod stanu oznacza, że subskrypcja została anulowana.

Ten kod stanu oznacza, że subskrypcja została anulowana.

kStatus_IllegalReadRequest

Ten starszy kod stanu oznacza, że węzeł wysyłający żądanie odczytu określonego elementu danych nie ma do tego uprawnień.

Ten kod stanu oznacza, że węzeł wysyłający żądanie odczytu określonego elementu danych nie ma do tego uprawnień.

kStatus_IllegalWriteRequest

Ten starszy kod stanu oznacza, że węzeł wysyłający żądanie zapisu konkretnego elementu danych nie ma do tego uprawnień.

Ten kod stanu oznacza, że węzeł wysyłający żądanie zapisu konkretnego elementu danych nie ma do tego uprawnień.

kStatus_InvalidPath

Ten starszy kod stanu oznacza, że ścieżka z listy ścieżek w ramce widoku lub żądania aktualizacji nie pasuje do schematu rezydentnego węzła obiektu reagującego.

Ten kod stanu oznacza, że ścieżka z listy ścieżek w ramce widoku lub żądania aktualizacji nie pasuje do schematu rezydenta elementu odpowiadającego.

kStatus_InvalidVersion

Ten kod oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją udostępnioną przez wydawcę, więc nie można zastosować aktualizacji.

Ten kod stanu oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją udostępnioną przez wydawcę, więc nie można zastosować aktualizacji.

kStatus_UnknownTopic

Ten starszy kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub powiadomieniu nie pasuje do żadnej istniejącej subskrypcji w węźle odbierającym.

Ten kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub powiadomieniu nie pasuje do żadnej subskrypcji istniejącej w węźle odbierającym.

kStatus_UnsupportedSubscriptionMode

Ten starszy kod stanu oznacza, że żądany tryb subskrypcji nie jest obsługiwany przez urządzenie odbierające.

Ten kod stanu oznacza, że urządzenie odbierające nie obsługuje żądanego trybu subskrypcji.

@166

 @166

Rozmiary pul i tabel WDM.

WDM definiuje różne pule i tabele wymagane do jego działania w następujący sposób.

Pule transakcji klienta:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Pule transakcji wydawcy:

  • kNotifyPoolSize

Tabele protokołów:

  • kTransactionTableSize
  • kBindingTableSize

Tabele związane z subskrypcjami:

  • kNotifierTableSize (tylko klient)
  • kSubscriptionMgrTableSize (tylko wydawcy)

Pamiętaj, że są to ilości, które można skonfigurować, a wartości dla poszczególnych platform pojawiają się w powiązanym pliku WeaveConfig.h.

Właściwości
kBindingTableSize

To jest domyślny rozmiar tabeli powiązań w mechanizmie protokołu WDM.

Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE.

kCancelSubscriptionPoolSize

To jest domyślny rozmiar puli transakcji żądań anulowania subskrypcji dla klienta WDM.

Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE.

kNotifierTableSize

Jest to domyślny rozmiar tabeli powiadomień dla klientów WDM.

Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE.

kNotifyPoolSize

To jest domyślny rozmiar puli transakcji żądań powiadomień dla wydawcy WDM.

Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE.

kSubscribePoolSize

To jest domyślny rozmiar puli transakcji żądań subskrypcji dla klienta WDM.

Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

To jest domyślny rozmiar tabeli subskrypcji w przypadku wydawców korzystających z WDM.

Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE.

kTransactionTableSize

To jest domyślny rozmiar tabeli transakcji w mechanizmie protokołu WDM.

Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE.

kUpdatePoolSize

To jest domyślny rozmiar puli transakcji żądań aktualizacji dla klienta WDM.

Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE.

kViewPoolSize

Jest to domyślny rozmiar puli transakcji żądań wyświetlenia dla klienta WDM.

Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

Typy komunikatów profilu WDM.

Wartości te są wywoływane w specyfikacji zarządzania danymi.

UWAGA! Począwszy od I kwartału 2015 roku typy wiadomości używane w poprzednich wersjach WDM zostały wycofane i zdefiniowano nowe typy wiadomości, co odzwierciedla wystarczającą zmianę w pakowaniu i analizie szczegółów w celu uzasadnienia przerwy w działaniu usługi.

Właściwości
kMsgType_CancelSubscriptionRequest

Wiadomość z prośbą o anulowanie subskrypcji.

kMsgType_CancelSubscriptionRequest_Deprecated

wycofane

kMsgType_NotifyRequest

Powiadom wiadomość z prośbą.

kMsgType_NotifyRequest_Deprecated

wycofane

kMsgType_SubscribeRequest

Wiadomość z prośbą o subskrypcję.

kMsgType_SubscribeRequest_Deprecated

wycofane

kMsgType_SubscribeResponse

Subskrybuj wiadomość z odpowiedzią.

kMsgType_SubscribeResponse_Deprecated

wycofane

kMsgType_UpdateRequest

Zaktualizuj wiadomość z prośbą.

kMsgType_UpdateRequest_Deprecated

wycofane

kMsgType_ViewRequest

Wyświetl wiadomość z prośbą.

kMsgType_ViewRequest_Deprecated

wycofane

kMsgType_ViewResponse

Wyświetl odpowiedź.

kMsgType_ViewResponse_Deprecated

wycofane

@168

 @168

Inne stałe specyficzne dla WDM.

Właściwości
kDefaultBindingTableIndex

Indeks domyślnego wiązania w tabeli powiązań wyszukiwarki protokołów z więcej niż 1 wpisem.

kInstanceIdNotSpecified

W wywołaniach wymagających specyfikacji instancji profilu wskazuje „brak”.

Najczęściej oznacza to, że w danym elemencie występuje tylko jedno wystąpienie profilu.

kResponseTimeoutNotSpecified

W metodach żądania transakcji wskazuje, że wywołujący odrzucił czas oczekiwania.

Ogólnie oznacza to, że należy użyć wartości domyślnej.

kTransactionIdNotSpecified

W metodach i strukturach danych, które przyjmują identyfikator transakcji, wskazuje wartość „brak” lub symbol wieloznaczny.

kVersionNotSpecified

W wywołaniach wymagających specyfikacji wersji danych wskazuje „brak konkretnej wersji”.

kWeaveTLVControlByteLen

Długość bajtu kontrolnego TLV używanego w metodach kodowania struktur WDM w TLV.

kWeaveTLVTagLen

Standardowa długość w bajtach pełnego zakwalifikowanego tagu TLV używanego w metodach kodowania struktur WDM w TLV.

@169

 @169

Kody stanu specyficzne dla WDM.

Właściwości
kStatus_CancelSuccess

Ten kod stanu oznacza, że subskrypcja została anulowana.

Ten kod stanu oznacza, że subskrypcja została anulowana.

kStatus_IllegalReadRequest

Ten starszy kod stanu oznacza, że węzeł wysyłający żądanie odczytu określonego elementu danych nie ma do tego uprawnień.

Ten kod stanu oznacza, że węzeł wysyłający żądanie odczytu określonego elementu danych nie ma do tego uprawnień.

kStatus_IllegalWriteRequest

Ten starszy kod stanu oznacza, że węzeł wysyłający żądanie zapisu konkretnego elementu danych nie ma do tego uprawnień.

Ten kod stanu oznacza, że węzeł wysyłający żądanie zapisu konkretnego elementu danych nie ma do tego uprawnień.

kStatus_InvalidPath

Ten starszy kod stanu oznacza, że ścieżka z listy ścieżek w ramce widoku lub żądania aktualizacji nie pasuje do schematu rezydentnego węzła obiektu reagującego.

Ten kod stanu oznacza, że ścieżka z listy ścieżek w ramce widoku lub żądania aktualizacji nie pasuje do schematu rezydenta elementu odpowiadającego.

kStatus_InvalidVersion

Ten kod oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją udostępnioną przez wydawcę, więc nie można zastosować aktualizacji.

Ten kod stanu oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją udostępnioną przez wydawcę, więc nie można zastosować aktualizacji.

kStatus_UnknownTopic

Ten starszy kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub powiadomieniu nie pasuje do żadnej istniejącej subskrypcji w węźle odbierającym.

Ten kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub powiadomieniu nie pasuje do żadnej subskrypcji istniejącej w węźle odbierającym.

kStatus_UnsupportedSubscriptionMode

Ten starszy kod stanu oznacza, że żądany tryb subskrypcji nie jest obsługiwany przez urządzenie odbierające.

Ten kod stanu oznacza, że urządzenie odbierające nie obsługuje żądanego trybu subskrypcji.

@170

 @170

Tagi protokołu zarządzania danymi (Data Management Protocol).

Protokół zarządzania danymi określa szereg tagów, które mają być używane w reprezentacji danych profilu TLV.

Jak zwykle występują problemy ze zgodnością między nowym a starym WDM. W dawnych czasach wszystkie tagi były stosowane jako powiązane z profilem, co było stratą miejsca. Teraz w miarę możliwości korzystamy z tagów kontekstowych, ale musimy zachować stare tagi (i mieć mechanizm kodowania ścieżek z nimi) tam, gdzie było to konieczne.

Tag kTag_WDMDataListElementData nie był używany w poprzednich wersjach i został całkowicie zignorowany przez kod, więc nie trzeba udostępniać wersji wycofanej.

Właściwości
kTag_WDMDataList

Element to lista struktur zawierających ścieżkę, wersję opcjonalną i elementy danych.

Typ tagu: typ elementu specyficzny dla profilu: Dyspozycja tablicy: najwyższy poziom

kTag_WDMDataListElementData

Element reprezentuje dane wskazywane przez daną ścieżkę i ma daną wersję.

Typ tagu: typ elementu zależny od kontekstu: dowolna dyspozycja: wymagana

kTag_WDMDataListElementData_Deprecated

Rola wycofana.

Typ tagu: typ elementu zależny od kontekstu: dowolna dyspozycja: wymagana

kTag_WDMDataListElementPath

Element jest komponentem ścieżki elementu listy danych.

Typ tagu: typ elementu zależny od kontekstu: Dyspozycja ścieżki: wymagany

kTag_WDMDataListElementPath_Deprecated

Rola wycofana.

Typ tagu: typ elementu związany z profilem: Dyspozycja ścieżki: wymagany

kTag_WDMDataListElementVersion

Element jest komponentem wersji elementu listy danych.

Typ tagu: Typ elementu zależny od kontekstu: Dyspozycja liczby całkowitej: wymagany

kTag_WDMDataListElementVersion_Deprecated

Rola wycofana.

Typ tagu: typ elementu specyficzny dla profilu: Dyspozycja liczby całkowitej: wymagany

kTag_WDMPathArrayIndexSelector

Element ścieżki odpowiada tablicy w schemacie, a zawarty w niej element liczby całkowitej ma służyć jako indeks w tej tablicy.

Typ tagu: typ elementu specyficzny dla profilu: Liczba całkowita: opcjonalny

kTag_WDMPathArrayValueSelector

Element ścieżki odpowiada tablicy w schemacie, a zamknięty element służy jako selektor rekordów.

Typ tagu: Typ elementu właściwy dla profilu: Dyspozycja struktury: opcjonalny

kTag_WDMPathList

Element to lista ścieżek TLV.

Typ tagu: typ elementu specyficzny dla profilu: Dyspozycja tablicy: najwyższy poziom

kTag_WDMPathProfile

Element jest strukturą służącą do rozpoczęcia ścieżki i zawiera informacje o profilu, w świetle których mają być interpretowane tagi na ścieżce.

Typ tagu: typ elementu specyficzny dla profilu: Dyspozycja struktury: wymagany

kTag_WDMPathProfileId

Element jest komponentem identyfikatora profilu w elemencie profilu ścieżki, który zaczyna się ścieżką TLV.

Typ tagu: Typ elementu zależny od kontekstu: Dyspozycja liczby całkowitej: wymagany

kTag_WDMPathProfileId_Deprecated

Rola wycofana.

Typ tagu: typ elementu specyficzny dla profilu: Dyspozycja liczby całkowitej: wymagany

kTag_WDMPathProfileInstance

Elementem jest wystąpienie profilu, które może podążać za identyfikatorem profilu w ścieżce TLV.

Pamiętaj, że węzeł może, ale nie musi, mieć wiele wystąpień określonego profilu. W przypadku, gdy jest tylko jedna, ten element może zostać pominięty.

Typ tagu: typ elementu zależny od kontekstu: dowolna dyspozycja: opcjonalna

kTag_WDMPathProfileInstance_Deprecated

Rola wycofana.

Typ tagu: typ elementu związany z profilem: dowolna dyspozycja: opcjonalna

@171

 @171

Wyróżniające się identyfikatory tematów.

Istnieją 3 wyróżniające się identyfikatory interesujących tematów. Wszystkie 3 są sformatowane jako „odpowiednie dla wydawcy”.

Właściwości
kAnyTopicId

Jest zarezerwowany jako identyfikator tematu z symbolami wieloznacznymi.

kTopicIdNotSpecified

Jest to specjalna wartość zarezerwowana do określenia nieprawidłowego lub symbolu wieloznacznego identyfikatora tematu.

kTopicIdPublisherSpecificMask

Służy jako maska do tworzenia lub rozpakowywania identyfikatora topci.

WeaveTransportOption

 WeaveTransportOption

Opcje transportu WDM.

Są to wzajemnie wykluczające się opcje transportu WDM.

Właściwości
kTransport_TCP

Podstawowym transportem jest protokół TCP.

Powiązanie można utworzyć za pomocą menedżera usługi lub bezpośrednio w warstwie wiadomości.

kTransport_UDP

Podstawowym sposobem przesyłania danych jest wyłącznie UDP.

kTransport_WRMP

Podstawowym sposobem przesyłania jest wyłącznie UDP, ale z ulepszeniami w zakresie niezawodności „warstwy pomocy aplikacji”.

Definicje typów

TopicIdentifier

uint64_t TopicIdentifier

Identyfikator tematu.

Identyfikatory tematów to ilości 64-bitowe o 2 powiązanych zastosowaniach/semantykach. Przede wszystkim można ich używać jako standardowego skrótu dla dobrze znanego zestawu ścieżek, np. „wykrywacz dymu Nest”. Identyfikatory tematów używane w ten sposób, tak jak identyfikatory profili, powinny zawierać kod dostawcy zapobiegający konfliktowi identyfikatorów tematów wybieranych samodzielnie przez różnych dostawców:

bit 48–63 bit 0–47
Identyfikator dostawcy Numer tematu
Drugie użycie/semantyka identyfikatorów tematów zachodzi w przypadku dynamicznej subskrypcji między klientem WDM a wydawcą. W takim przypadku wydawca zawsze musi dostarczyć unikalny identyfikator tematu, który oznacza konkretną subskrypcję. Będzie to robić niezależnie od tego, czy subskrypcja została zamówiona przy użyciu znanego identyfikatora tematu czy dowolnej listy ścieżek. Identyfikatory tematów w tym formularzu różnią się kodem dostawcy o wartości 0xFFFF.

Zobacz też:
WeaveVendorIdentifiers.hpp

Funkcje

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

Sprawdź, czy odczytywany element TLV ma oczekiwany typ TLV.

Sprawdź typ TLV z typem elementu na początku czytnika TLV.

Szczegóły
Parametry
[in] aType
Wartość TLVType do sprawdzenia w odniesieniu do określonego elementu
[in] aReader
Odniesienie do czytnika TLV umieszczonego w elemencie, który ma zostać sprawdzony
Zwroty
true [prawda] oznacza dopasowanie TLVType elementu i typu aType.
Zobacz też:
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

Sprawdź tag WDM.

Sprawdź liczbę tagów specyficznych dla WDM (.../data-management/DMConstants.h) z rzeczywistym tagiem na początku czytnika TLV.

Szczegóły
Parametry
[in] aTagNum
Numer tagu, który ma zostać sprawdzony pod kątem konkretnego elementu TLV.
[in] aReader
Odwołanie do czytnika TLV wskazującego element do sprawdzenia.
Zwroty
true iff aReader.GetTag() tworzy tag, który pasuje do jednego z oczekiwanych formatów tagu dla danego numeru tagu.

CloseDataListElement

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

Przestań odczytywać element listy danych WDM.

W tej metodzie zakładamy, że dany element jest częścią listy danych WDM, więc przekazuje obiekt kTLVType_Slate do klasy ExitContainer().

Szczegóły
Parametry
[in,out] aReader
Czytnik TLV umieszczony w elemencie listy danych WDM.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR oznaczający niemożność wyjścia z kontenera.

CloseList

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

Zatrzymaj odczytywanie ścieżki lub listy danych WDM.

W tej metodzie zakładamy, że dana lista jest najwyższym elementem TLV, więc przekazuje funkcję kTLVType_Sructure do klasy ExitContainer().

Szczegóły
Parametry
[in,out] aReader
Czytnik TLV umieszczony w ścieżce WDM lub na liście danych.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR oznaczający niemożność wyjścia z kontenera.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

Zakoduj ścieżkę WDM z wycofanymi tagami i identyfikatorem instancji będącym liczbą całkowitą.

Uwaga: zakoduj ścieżkę przy użyciu wycofanego zestawu tagów akceptowanego przez usługę przed wersją Weave 2.0. Ta wersja metody przyjmuje numeryczny identyfikator instancji. Ta metoda uruchamia kontener z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), a następnie wstawia identyfikator profilu z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Cofnij). Następnie wstawia identyfikator instancji z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Cofnij). Jest to jedna z wycofanych wersji kodowania ścieżki. Nowe projekty nie powinny używać tego formatu.

Szczegóły
Parametry
[in] aWriter
Odwołanie do zapisującego TLV użytego do zapisania ścieżki.
[in] aTag
Odwołanie do pełnego tagu TLV, które odnosi się do tej ścieżki.
[in] aProfileId
Identyfikator profilu, w którym mają być interpretowane elementy ścieżki.
[in] aInstanceId
Odwołanie do opcjonalnego identyfikatora instancji profilu, który ma być używany.
[in] aPathLen
Długość listy elementów ścieżki spoza początkowego specyfikatora profilu (prawdopodobnie 0).
[in] ...
Opcjonalna lista dodatkowych tagów ścieżki o zmiennej długości.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błąd sformatowania danej ścieżki).

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

Zakoduj ścieżkę WDM z wycofanymi tagami i identyfikatorem instancji ciągu znaków.

Uwaga: zakoduj ścieżkę, używając wycofanego zestawu tagów (patrz DMConstants.h). Ta wersja metody przyjmuje ciąg znaków identyfikatora instancji. Ta metoda uruchamia kontener z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), a następnie wstawia identyfikator profilu z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Cofnij). Następnie wstawia identyfikator instancji z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Cofnij). Jest to jedna z wycofanych wersji kodowania ścieżki. Nowe projekty nie powinny używać tego formatu.

Szczegóły
Parametry
[in] aWriter
Odwołanie do zapisującego TLV użytego do zapisania ścieżki.
[in] aTag
Odwołanie do pełnego tagu TLV, które odnosi się do tej ścieżki.
[in] aProfileId
Identyfikator profilu, w którym mają być interpretowane elementy ścieżki.
[in] aInstanceId
Opcjonalny ciąg znaków używany jako identyfikator instancji profilu. Ten argument może mieć wartość NULL, jeśli nie określono identyfikatora instancji.
[in] aPathLen
Długość listy elementów ścieżki spoza początkowego specyfikatora profilu (prawdopodobnie 0).
[in] ...
Opcjonalna lista dodatkowych tagów ścieżki o zmiennej długości.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błąd sformatowania danej ścieżki).

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

Zakoduj ścieżkę WDM za pomocą identyfikatora instancji profilu składającego się z liczby całkowitej.

Uwaga: wpisz ścieżkę TLV takiego rodzaju jak używany przy zarządzaniu danymi, w którym zwłaszcza na początku musi być umieszczone oznaczenie profilu, aby umożliwić interpretację kolejnych elementów ścieżki. Ta wersja metody przyjmuje identyfikator instancji profilu będący liczbą całkowitą.

Ta metoda wstawia identyfikator instancji za pomocą parametru ContextTag(kTag_WDMPathProfileInstance), który jest najnowszą wersją kodowania ścieżki.

Szczegóły
Parametry
[in] aWriter
Odwołanie do zapisującego TLV użytego do zapisania ścieżki.
[in] aTag
Odwołanie do pełnego tagu TLV, które odnosi się do tej ścieżki.
[in] aProfileId
Identyfikator profilu, w którym mają być interpretowane elementy ścieżki.
[in] aInstanceId
Odwołanie do opcjonalnego identyfikatora instancji profilu, który ma być używany. Jeśli nie chcesz używać identyfikatora instancji, ten parametr powinien mieć wartość kInstanceIdNotSpecified.
[in] aPathLen
Długość listy elementów ścieżki spoza początkowego specyfikatora profilu (prawdopodobnie 0).
[in] ...
Opcjonalna lista dodatkowych tagów ścieżki o zmiennej długości.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błąd sformatowania danej ścieżki).

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

Zakoduj ścieżkę WDM za pomocą identyfikatora instancji w tablicy bajtów.

Uwaga: wpisz ścieżkę TLV takiego rodzaju jak używany przy zarządzaniu danymi, w którym zwłaszcza na początku musi być umieszczone oznaczenie profilu, aby umożliwić interpretację kolejnych elementów ścieżki. Ta wersja metody wykorzystuje długość identyfikatora instancji profilu tablicy bajtów.

Ta metoda wstawia identyfikator instancji za pomocą parametru ContextTag(kTag_WDMPathProfileInstance), który jest najnowszą wersją kodowania ścieżki.

Szczegóły
Parametry
[in] aWriter
Odwołanie do zapisującego TLV użytego do zapisania ścieżki.
[in] aTag
Odwołanie do pełnego tagu TLV, które odnosi się do tej ścieżki.
[in] aProfileId
Identyfikator profilu, w którym mają być interpretowane elementy ścieżki.
[in] aInstanceIdLen
Długość tablicy bajtów, która tworzy identyfikator instancji. W przypadku braku identyfikatora parametr ten ma wartość 0.
[in] aInstanceId
Opcjonalna tablica bajtowa używana jako identyfikator instancji profilu. Ten argument może mieć wartość NULL, jeśli nie określono identyfikatora instancji.
[in] aPathLen
Długość listy elementów ścieżki spoza początkowego specyfikatora profilu (prawdopodobnie 0).
[in] ...
Opcjonalna lista dodatkowych tagów ścieżki o zmiennej długości.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błąd sformatowania danej ścieżki).

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

Zakoduj ścieżkę WDM za pomocą identyfikatora instancji ciągu znaków.

Uwaga: wpisz ścieżkę TLV takiego rodzaju jak używany przy zarządzaniu danymi, w którym zwłaszcza na początku musi być umieszczone oznaczenie profilu, aby umożliwić interpretację kolejnych elementów ścieżki. Ta wersja metody przyjmuje identyfikator instancji profilu ciągu znaków.

Ta metoda wstawia identyfikator instancji za pomocą parametru ContextTag(kTag_WDMPathProfileInstance), który jest najnowszą wersją kodowania ścieżki.

Szczegóły
Parametry
[in] aWriter
Odwołanie do zapisującego TLV użytego do zapisania ścieżki.
[in] aTag
Odwołanie do pełnego tagu TLV, które odnosi się do tej ścieżki.
[in] aProfileId
Identyfikator profilu, w którym mają być interpretowane elementy ścieżki.
[in] aInstanceId
Opcjonalny ciąg znaków używany jako identyfikator instancji profilu. Ten argument może mieć wartość NULL, jeśli nie określono identyfikatora instancji.
[in] aPathLen
Długość listy elementów ścieżki spoza początkowego specyfikatora profilu (prawdopodobnie 0).
[in] ...
Opcjonalna lista dodatkowych tagów ścieżki o zmiennej długości.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błąd sformatowania danej ścieżki).

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

Zakończ pisanie elementu listy danych.

Wpisz TLV na końcu elementu listy danych WDM. Pamiętaj, że to polecenie jest automatycznie przekazywane w typie kTLVType_Slate do wywołania EndContainer() przy założeniu, że zawsze zamykamy element listy.

Szczegóły
Parametry
[in] aWriter
Odniesienie do autora elementu TLV, które służy do zapisu końca elementu.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR oznaczający niemożność zakończenia kontenera.

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Zakończ tworzenie listy ścieżek lub danych.

Wpisz TLV na końcu ścieżki WDM lub listy danych. Sfinalizuj też autora.

Szczegóły
Parametry
[in,out] aWriter
Odwołanie do autora TLV służące do zapisu końca listy.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR oznaczający niemożność zakończenia kontenera.

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Zakończ tworzenie listy ścieżek lub danych.

Wpisz TLV na końcu ścieżki WDM lub listy danych. Sfinalizuj też autora. W tym przypadku obiekt ReferencedTLVData, do którego jest zapisywany TLV, jest przekazywany i modyfikowany tak, aby odzwierciedlał ilość zapisanych danych.

Szczegóły
Parametry
[in,out] aList
Odwołanie do obiektu ReferenceTLVData, w którym zapisano listę.
[in] aWriter
Odwołanie do autora TLV służące do zapisu końca listy.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR oznaczający niemożność zakończenia kontenera.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Sprawdź, czy identyfikator tematu jest przypisany do wydawcy.

Szczegóły
Parametry
[in] aTopicId
sprawdzanie identyfikatora tematu
Zwroty
true, jeśli identyfikator tematu jest specyficzny dla wydawcy. W przeciwnym razie ma wartość false.

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

Zacznij odczytywać listę danych.

Mając nowy czytnik i listę danych, zacznij ją czytać i sprawdź tagi oraz typy napotkane podczas tego procesu. Jeśli wszystko pójdzie dobrze, czytelnik zatrzyma się po wprowadzeniu kontenera listy.

Szczegóły
Parametry
[in] aDataList
Lista danych przekazana jako odwołanie do obiektu ReferencedTLVData. W normalnym przypadku lista pozostaje w buforze po otrzymaniu potwierdzenia.
[out] aReader
Odwołanie do czytnika TLV używanego do odczytu listy danych. Czytnik pozostanie skierowany w lewo przed pierwszym elementem na liście.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błędy podczas otwierania listy danych) lub weryfikowanie odpowiednich tagów i typów.

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

Rozpocznij odczytywanie elementu listy danych.

Gdy czytnik znajduje się w pobliżu elementu listy danych, zacznij odczytywać element i sprawdzaj tagi oraz typy napotkane podczas tego procesu. Jeśli wszystko pójdzie dobrze, czytnik znajdzie się na odpowiedniej ścieżce, a czytnik ścieżki wejścia/wyjścia znajdzie się na odpowiedniej ścieżce.

Szczegóły
Parametry
[in] aReader
Odwołanie do czytnika TLV umieszczonego w elemencie listy danych.
[out] aPathReader
Odwołanie do czytnika TLV wskazującego komponent ścieżki elementu listy danych.
[out] aVersion
Odniesienie do 64-bitowej liczby całkowitej ustawianej na wersję elementu listy danych (jeśli istnieje) lub do kVersionNotSpecified.
Zwroty
Błąd WEAVE_NO_ERROR. W przeciwnym razie przy otwieraniu i odczytywaniu elementu listy danych pojawia się błąd WEAVE_ERROR.

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

Rozpocznij odczytywanie listy ścieżek.

Mając nowego czytelnika i listę ścieżek, zacznij ją odczytywać i sprawdzaj tagi oraz typy napotkane podczas tego procesu. Jeśli wszystko pójdzie dobrze, czytelnik zatrzyma się po wprowadzeniu kontenera listy.

Szczegóły
Parametry
[in] aPathList
Lista ścieżek przekazana jako odwołanie do obiektu ReferencedTLVData. W normalnym przypadku lista pozostaje w buforze po otrzymaniu potwierdzenia.
[out] aReader
Odwołanie do czytnika TLV służącego do odczytu listy ścieżek. Ten czytnik zostanie skierowany bezpośrednio przed pierwszą ścieżką na liście.
Zwroty
WEAVE_NO_ERROR w przypadku powodzenia. W przeciwnym razie błąd WEAVE_ERROR oznacza błąd podczas otwierania listy ścieżek lub weryfikacja odpowiednich tagów i typów.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Wygeneruj od podstaw identyfikator tematu dla wydawcy.

Szczegóły
Zwroty
nowy identyfikator tematu.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Zacznij tworzyć listę danych.

Wpisz TLV na początku listy danych WDM, np. jako główny argument funkcji UpdateRequest().

Szczegóły
Parametry
[in] aWriter
Odniesienie do autora tekstu TLV, od którego należy zacząć pisanie.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR (błąd w zakresie możliwości uruchomienia kontenera).

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Zacznij zapisywać listę danych w obrębie danego obiektu ReferencedTLVData.

Na początku listy danych WDM wpisz TLV. W tym przypadku zakładamy, że listę danych zapisujemy w formie wymienionej struktury danych TLV. Przyjmuje się, że zapisujący nie jest zainicjowany – lub w każdym przypadku zostanie zainicjowany w sposób wskazujący na dany obiekt.

Szczegóły
Parametry
[out] aDataList
Odniesienie do obiektu ReferencedTLVData, który ma być celem zapisującego i ostatecznie zawierać interesujące Cię dane.
[in] aWriter
Odniesienie do autora tekstu TLV, od którego należy zacząć pisanie.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR (błąd w zakresie możliwości uruchomienia kontenera).

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

Zacznij pisać element listy danych.

Na początku elementu listy danych WDM wpisz TLV.

Szczegóły
Parametry
[in] aWriter
Odniesienie do autora tekstu TLV, od którego należy zacząć pisanie.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR (błąd w zakresie możliwości uruchomienia kontenera).

StartEncodePath

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

StartPathList

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Zacznij pisać listę ścieżek.

Wpisz TLV na początku listy ścieżek WDM, np. jako główny argument funkcji ViewRequest().

Szczegóły
Parametry
[in] aWriter
Odniesienie do autora tekstu TLV, od którego należy zacząć pisanie.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR (błąd w zakresie możliwości uruchomienia kontenera).

TxnResponseHandler

void TxnResponseHandler(
  ExchangeContext *anExchangeCtx,
  const IPPacketInfo *anAddrInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

TxnTimeoutHandler

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

ValidateTLVType

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

Sprawdź, czy odczytywany element TLV ma oczekiwany typ TLV.

Porównaj dany typ TLV z typem elementu w nagłówku czytnika TLV i zwróć błąd, jeśli nie ma dopasowania.

Szczegóły
Parametry
[in] aType
Obiekt TLVType sprawdzany w odniesieniu do określonego elementu.
[in] aReader
Odniesienie do czytnika TLV umieszczonego w elemencie do weryfikacji.
Zwroty
WEAVE_NO_ERROR, jeśli istnieje dopasowanie, lub WEAVE_ERROR_WRONG_TLV_TYPE, jeśli nie.
Zobacz też:
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

Sprawdź, czy odczytywany element TLV zawiera oczekiwany tag WDM.

Szczegóły
Parametry
[in] aTagNum
32-bitowy numer oczekiwanego tagu WDM.
[in] aReader
Czytnik TLV umieszczony w elemencie do weryfikacji.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu. Jeśli tag nie pasuje do podanego numeru (pod warunkiem, że został zinterpretowany jako tag WDM), jest też wartość WEAVE_ERROR_INVALID_TLV_TAG.