nl:: Splot:: Profile:: Zarządzanie danymi_Dziedzictwo

Ta przestrzeń nazw obejmuje wszystkie interfejsy w ramach Weave dla profilu Weave Data Management (WDM), które mają zostać wycofane.

streszczenie

Wyliczenia

@103 {
kStatus_CancelSuccess = 0x0001,
kStatus_InvalidPath = 0x0013,
kStatus_UnknownTopic = 0x0014,
kStatus_IllegalReadRequest = 0x0015,
kStatus_IllegalWriteRequest = 0x0016,
kStatus_InvalidVersion = 0x0017,
kStatus_UnsupportedSubscriptionMode = 0x0018
}
wyliczenie
@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
}
wyliczenie
Rozmiary puli i stołów 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
}
wyliczenie
Typy wiadomości profilu WDM.
@168 {
kTransactionIdNotSpecified = 0,
kResponseTimeoutNotSpecified = 0,
kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
kInstanceIdNotSpecified = 0,
kDefaultBindingTableIndex = 0,
kWeaveTLVTagLen = 8,
kWeaveTLVControlByteLen = 1
}
wyliczenie
Różne 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
}
wyliczenie
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
}
wyliczenie
Znaczniki protokołu zarządzania danymi.
@171 {
kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
kTopicIdNotSpecified = 0x0000000000000000ULL,
kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
wyliczenie
Wyróżnione identyfikatory tematów.
WeaveTransportOption {
kTransport_TCP = 1,
kTransport_WRMP = 2,
kTransport_UDP = 3
}
wyliczenie
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
Sprawdzić, czy TLV elementem są odczytywane ma oczekiwaną TLV typ.
CheckWDMTag (uint32_t aTagNum,nl::Weave::TLV::TLVReader & aReader)
bool
Sprawdź tag specyficzny dla WDM.
CloseDataListElement (nl::Weave::TLV::TLVReader & aReader)
Zatrzymaj czytanie elementu listy danych WDM.
CloseList (nl::Weave::TLV::TLVReader & aReader)
Przestań czytać ścieżkę WDM lub listę danych.
EncodeDeprecatedPath (TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Zakoduj ścieżkę WDM z przestarzałymi tagami i całkowitym identyfikatorem instancji.
EncodeDeprecatedPath (TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Zakoduj ścieżkę WDM z przestarzałymi tagami i identyfikatorem wystąpienia ciągu.
EncodePath (TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Zakoduj ścieżkę WDM z identyfikatorem instancji profilu w postaci 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 z identyfikatorem instancji tablicy bajtów.
EncodePath (TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Zakoduj ścieżkę WDM z identyfikatorem wystąpienia ciągu.
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 pisanie listy ścieżek lub listy danych.
EndList ( ReferencedTLVData & aList,nl::Weave::TLV::TLVWriter & aWriter)
Zakończ pisanie listy ścieżek lub listy danych.
IsPublisherSpecific (const TopicIdentifier & aTopicId)
bool
Sprawdź, czy identyfikator tematu jest specyficzny dla wydawcy.
OpenDataList ( ReferencedTLVData & aDataList,nl::Weave::TLV::TLVReader & aReader)
Zacznij czytać listę danych.
OpenDataListElement (nl::Weave::TLV::TLVReader & aReader,nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Zacznij czytać element listy danych.
OpenPathList ( ReferencedTLVData & aPathList,nl::Weave::TLV::TLVReader & aReader)
Zacznij czytać listę ścieżek.
PublisherSpecificTopicId (void)
Wygeneruj od podstaw identyfikator tematu dla wydawcy.
SendStatusReport ( ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList (nl::Weave::TLV::TLVWriter & aWriter)
Zacznij pisać listę danych.
StartDataList ( ReferencedTLVData & aDataList,nl::Weave::TLV::TLVWriter & aWriter)
Zacznij pisać listy danych do danego ReferencedTLVData obiektu.
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)
Potwierdzić, że TLV elementem są odczytywane ma oczekiwaną TLV typ.
ValidateWDMTag (uint32_t aTagNum,nl::Weave::TLV::TLVReader & aReader)
Potwierdzić, że TLV elementem są odczytywane ma oczekiwaną tag WDM.

Klasy

nl :: Weave :: Profile :: DataManagement_Legacy :: Binding

Wiązanie klasa zarządza stan komunikacji w imieniu podmiotu aplikacji przy użyciu splocie.

nl :: Weave :: Profile :: DataManagement_Legacy :: ClientDataManager

Klasa abstrakcyjna zawierająca definicje metod potwierdzania i wskazywania wymaganych przez klienta WDM.

nl :: Weave :: Profile :: DataManagement_Legacy :: ClientNotifier

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

nl :: Weave :: Profile :: DataManagement_Legacy :: DMClient

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

nl :: Weave :: Profile :: DataManagement_Legacy :: DMPublisher

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

nl :: Weave :: Profile :: DataManagement_Legacy :: ProfileDatabase

Abstrakcyjny ProfileDatabase klasa pomocnicza.

nl :: Weave :: Profile :: DataManagement_Legacy :: ProtocolEngine

Klasa silnika protokołu WDM.

nl :: Weave :: Profile :: DataManagement_Legacy :: PublisherDataManager

Klasa abstrakcyjna zawierająca definicje metod potwierdzania i powiadamiania wymaganych przez wydawcę WDM.

Wyliczenia

@103

 @103
Nieruchomości
kStatus_CancelSuccess

Ten starszy kod stanu oznacza, że ​​subskrypcja została pomyślnie anulowana.

Ten kod statusu oznacza, że ​​subskrypcja została pomyślnie anulowana.

kStatus_IllegalReadRequest

Ten dotychczasowy kod statusu oznacza, że ​​węzeł zgłaszający żądanie odczytu określonego elementu danych nie ma do tego uprawnień.

Ten kod statusu oznacza, że ​​węzeł zgłaszający żądanie odczytu określonego elementu danych nie ma do tego uprawnień.

kStatus_IllegalWriteRequest

Ten dotychczasowy kod stanu oznacza, że ​​węzeł zgłaszający żądanie zapisu określonego elementu danych nie ma do tego uprawnień.

Ten kod statusu oznacza, że ​​węzeł zgłaszający żądanie zapisu określonego elementu danych nie ma do tego uprawnień.

kStatus_InvalidPath

Ten starszy kod stanu oznacza, że ​​ścieżka z listy ścieżek ramki żądania widoku lub aktualizacji nie była zgodna ze schematem odpowiadającym w węźle.

Ten kod stanu oznacza, że ​​ścieżka z listy ścieżek ramki żądania widoku lub aktualizacji nie jest zgodna ze schematem odpowiadającym w węźle.

kStatus_InvalidVersion

Ten starszy kod stanu oznacza, że ​​wersja danych zawartych w żądaniu aktualizacji nie była zgodna z najnowszą wersją wydawcy, dlatego nie można było zastosować aktualizacji.

Ten kod stanu oznacza, że ​​wersja danych zawartych w żądaniu aktualizacji nie była zgodna z najnowszą wersją w wydawcy, dlatego nie można było zastosować aktualizacji.

kStatus_UnknownTopic

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

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

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 ​​żądany tryb subskrypcji nie jest obsługiwany przez urządzenie odbierające.

@166

 @166

Rozmiary puli i stołów WDM.

WDM definiuje różne pule i tabele, które są potrzebne do jego działania, w następujący sposób.

Pule transakcji klientów:

  • kViewPoolSize
  • kSubskrybujRozmiar puli
  • kAnulujSubskrypcjaRozmiar puli
  • kAktualizuj rozmiar puli

Pule transakcji wydawcy:

  • kNotifyPoolSize

Tabele silników protokołów:

  • kRozmiarTabeli Transakcji
  • kRozmiar tabeli powiązań

Tabele związane z subskrypcją:

  • kNotifierTableSize (tylko klient)
  • kSubscriptionMgrTableSize (tylko wydawca)

Zauważ, że te ilości są konfigurowalne i że wartości płatne platformy pojawią się w towarzyszącym WeaveConfig.h .

Nieruchomości
kBindingTableSize

Jest to domyślny rozmiar tabeli powiązań w aparacie protokołu WDM.

Wartość ta może być konfigurowany poprzez WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE .

kCancelSubscriptionPoolSize

Jest to domyślny rozmiar puli transakcji żądania anulowania subskrypcji dla klienta WDM.

Wartość ta może być konfigurowany poprzez WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE .

kNotifierTableSize

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

Wartość ta może być konfigurowany poprzez WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE .

kNotifyPoolSize

Jest to domyślny rozmiar puli transakcji żądania powiadomienia dla wydawcy WDM.

Wartość ta może być konfigurowany poprzez WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE .

kSubscribePoolSize

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

Wartość ta może być konfigurowany poprzez WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE .

kSubscriptionMgrTableSize

Jest to domyślny rozmiar tabeli subskrypcji dla wydawców WDM.

Wartość ta może być konfigurowany poprzez WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE .

kTransactionTableSize

Jest to domyślny rozmiar tabeli transakcji w aparacie protokołu WDM.

Wartość ta może być konfigurowany poprzez WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE .

kUpdatePoolSize

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

Wartość ta może być konfigurowany poprzez WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE .

kViewPoolSize

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

Wartość ta może być konfigurowany poprzez WEAVE_CONFIG_WDM_VIEW_POOL_SIZE .

@167

 @167

Typy wiadomości profilu WDM.

Te wartości są wywoływane w specyfikacji zarządzania danymi.

UWAGA!! Począwszy od pierwszego kwartału 2015 r. typy komunikatów używane w poprzednich wersjach WDM zostały wycofane i zdefiniowano nowe typy komunikatów, odzwierciedlając wystarczającą zmianę ze szczegółami dotyczącymi pakowania i analizy w przeszłości, aby uzasadnić czystą przerwę.

Nieruchomości
kMsgType_CancelSubscriptionRequest

Anuluj wiadomość z prośbą o subskrypcję.

kMsgType_CancelSubscriptionRequest_Deprecated

przestarzałe

kMsgType_NotifyRequest

Powiadom wiadomość z żądaniem.

kMsgType_NotifyRequest_Deprecated

przestarzałe

kMsgType_SubscribeRequest

Zasubskrybuj wiadomość z prośbą.

kMsgType_SubscribeRequest_Deprecated

przestarzałe

kMsgType_SubscribeResponse

Subskrybuj wiadomość odpowiedzi.

kMsgType_SubscribeResponse_Deprecated

przestarzałe

kMsgType_UpdateRequest

Zaktualizuj wiadomość z prośbą.

kMsgType_UpdateRequest_Deprecated

przestarzałe

kMsgType_ViewRequest

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

kMsgType_ViewRequest_Deprecated

przestarzałe

kMsgType_ViewResponse

Wyświetl wiadomość odpowiedzi.

kMsgType_ViewResponse_Deprecated

przestarzałe

@168

 @168

Różne stałe specyficzne dla WDM.

Nieruchomości
kDefaultBindingTableIndex

Indeks domyślnego powiązania w tabeli powiązań aparatu protokołu z więcej niż jednym wpisem.

kInstanceIdNotSpecified

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

Najczęściej oznacza to, że w danej jednostce występuje tylko jedna instancja profilu.

kResponseTimeoutNotSpecified

W metodach żądających transakcji wskazuje, że osoba dzwoniąca odmówiła podania limitu czasu.

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 „brak” lub wartość wieloznaczną.

kVersionNotSpecified

W zgłoszeniach wymagających podania wersji danych wskazuje „brak konkretnej wersji”.

kWeaveTLVControlByteLen

Długość TLV sterowania bajtu, stosowane w metodach pomocy że struktury kodowania WDM w TLV .

kWeaveTLVTagLen

Standardowa długość w bajtach pełni wykwalifikowanych TLV tag, używane w metodach wsparcia, które kodują strukturach WDM w TLV .

@169

 @169

Kody stanu specyficzne dla WDM.

Nieruchomości
kStatus_CancelSuccess

Ten starszy kod stanu oznacza, że ​​subskrypcja została pomyślnie anulowana.

Ten kod statusu oznacza, że ​​subskrypcja została pomyślnie anulowana.

kStatus_IllegalReadRequest

Ten dotychczasowy kod statusu oznacza, że ​​węzeł zgłaszający żądanie odczytu określonego elementu danych nie ma do tego uprawnień.

Ten kod statusu oznacza, że ​​węzeł zgłaszający żądanie odczytu określonego elementu danych nie ma do tego uprawnień.

kStatus_IllegalWriteRequest

Ten dotychczasowy kod stanu oznacza, że ​​węzeł zgłaszający żądanie zapisu określonego elementu danych nie ma do tego uprawnień.

Ten kod statusu oznacza, że ​​węzeł zgłaszający żądanie zapisu określonego elementu danych nie ma do tego uprawnień.

kStatus_InvalidPath

Ten starszy kod stanu oznacza, że ​​ścieżka z listy ścieżek ramki żądania widoku lub aktualizacji nie była zgodna ze schematem odpowiadającym w węźle.

Ten kod stanu oznacza, że ​​ścieżka z listy ścieżek ramki żądania widoku lub aktualizacji nie jest zgodna ze schematem odpowiadającym w węźle.

kStatus_InvalidVersion

Ten starszy kod stanu oznacza, że ​​wersja danych zawartych w żądaniu aktualizacji nie była zgodna z najnowszą wersją wydawcy, dlatego nie można było zastosować aktualizacji.

Ten kod stanu oznacza, że ​​wersja danych zawartych w żądaniu aktualizacji nie była zgodna z najnowszą wersją w wydawcy, dlatego nie można było zastosować aktualizacji.

kStatus_UnknownTopic

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

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

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 ​​żądany tryb subskrypcji nie jest obsługiwany przez urządzenie odbierające.

@170

 @170

Znaczniki protokołu zarządzania danymi.

Protokół zarządzania danymi określa liczbę znaczników do stosowania w TLV reprezentacji danych w profilu.

Jak zwykle występują problemy ze zgodnością między nowym WDM a starym. w dawnych złych czasach wszystkie te tagi były stosowane jako specyficzne dla profilu, co było marnowaniem miejsca. teraz używamy tagów kontekstowych tam, gdzie jest to możliwe, ale musimy zachować stare (i mieć mechanizm kodowania ścieżek z nimi na miejscu) tam, gdzie to konieczne.

Znacznik kTag_WDMDataListElementData nie był używany w poprzednich wersjach i został całkowicie zignorowany przez kod, więc nie musimy dostarczać przestarzałej wersji.

Nieruchomości
kTag_WDMDataList

Element jest listą struktur zawierającą ścieżkę, wersję opcjonalną i elementy danych.

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

kTag_WDMDataListElementData

Element reprezentuje dane wskazane przez podaną ścieżkę i mające podaną wersję.

Typ tagu: Kontekst Typ elementu: Dowolna dyspozycja: Wymagane

kTag_WDMDataListElementData_Deprecated

Przestarzałe.

Typ tagu: Kontekst Typ elementu: Dowolna dyspozycja: Wymagane

kTag_WDMDataListElementPath

Element jest składnikiem ścieżki elementu listy danych.

Typ tagu: Kontekst Typ elementu: Dyspozycja ścieżki: Wymagane

kTag_WDMDataListElementPath_Deprecated

Przestarzałe.

Typ tagu: Typ elementu specyficzny dla profilu: Dyspozycja ścieżki: Wymagane

kTag_WDMDataListElementVersion

Element jest składnikiem wersji elementu listy danych.

Typ znacznika: Kontekst Typ elementu: Liczba całkowita Dyspozycja: Wymagane

kTag_WDMDataListElementVersion_Deprecated

Przestarzałe.

Typ znacznika: Typ elementu specyficzny dla profilu: Liczba całkowita Dyspozycja: Wymagane

kTag_WDMPathArrayIndexSelector

Element path odpowiada tablicy w schemacie, a zawarty w niej element całkowity ma być używany jako indeks do tej tablicy.

Typ tagu: Typ elementu specyficzny dla profilu: Liczba całkowita Dyspozycja: Opcjonalna

kTag_WDMPathArrayValueSelector

Element ścieżki odpowiada tablicy w schemacie, a hermetyzowany element ma być używany jako selektor rekordów.

Typ znacznika: Typ elementu specyficzny dla profilu: Dyspozycja struktury: Opcjonalna

kTag_WDMPathList

Element jest lista TLV ścieżkach.

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

kTag_WDMPathProfile

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

Typ znacznika: Typ elementu specyficzny dla profilu: Struktura Dyspozycja: Wymagane

kTag_WDMPathProfileId

Element jest elementem profil identyfikator profilu elementu toru, który rozpoczyna się TLV ścieżki.

Typ znacznika: Kontekst Typ elementu: Liczba całkowita Dyspozycja: Wymagane

kTag_WDMPathProfileId_Deprecated

Przestarzałe.

Typ znacznika: Typ elementu specyficzny dla profilu: Liczba całkowita Dyspozycja: Wymagane

kTag_WDMPathProfileInstance

Element jest przykład profilu, która może się identyfikator profilu w TLV ścieżki.

Należy zauważyć, że węzeł może, ale nie musi mieć wielu wystąpień określonego profilu, a w przypadku, gdy jest tylko jeden, ten element można pominąć.

Typ tagu: Kontekst Typ elementu: Dowolna dyspozycja: Opcjonalny

kTag_WDMPathProfileInstance_Deprecated

Przestarzałe.

Typ tagu: Typ elementu specyficzny dla profilu: Dowolna Dyspozycja: Opcjonalny

@171

 @171

Wyróżnione identyfikatory tematów.

Istnieją trzy wyróżniające się identyfikatory tematów, z których wszystkie są sformatowane jako „specyficzne dla wydawcy”.

Nieruchomości
kAnyTopicId

Jest to zarezerwowane jako identyfikator tematu z symbolami wieloznacznymi.

kTopicIdNotSpecified

Jest to specjalna wartość zarezerwowana do wyrażenia nieprawidłowego lub wieloznacznego identyfikatora tematu.

kTopicIdPublisherSpecificMask

Jest używany jako maska ​​do tworzenia lub dekomponowania identyfikatora topci.

WeaveTransportOption

 WeaveTransportOption

Opcje transportu WDM.

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

Nieruchomości
kTransport_TCP

Podstawowym transportem jest TCP.

Wiązanie można wykonać za pomocą menedżera usług lub bezpośrednio przy użyciu warstwy komunikatów.

kTransport_UDP

Podstawowym transportem jest wyłącznie UDP.

kTransport_WRMP

Podstawowym transportem jest wyłącznie UDP, ale z ulepszeniami niezawodności „warstwy obsługi aplikacji”.

Definicje typów

Identyfikator tematu

uint64_t TopicIdentifier

Identyfikator tematu.

Identyfikatory tematów to wielkości 64-bitowe z dwoma powiązanymi zastosowaniami/semantyką. Przede wszystkim można je wykorzystać jako umowny skrót dla znanego zestawu ścieżek, np. „czujka dymu Nest”. Identyfikatory tematów używane w ten sposób, podobnie jak identyfikatory profili, zawierają kod dostawcy, który zapobiega konfliktom identyfikatorów tematów wybranych autonomicznie przez różnych dostawców, w następujący sposób:

bit 48 - 63 bit 0 - 47
Identyfikator sprzedawcy Numer tematu
Drugie użycie/semantyka identyfikatorów tematów pojawia się w przypadku dynamicznej subskrypcji między klientem WDM a wydawcą. w takim przypadku wydawca zawsze dostarcza unikalny identyfikator tematu, który oznacza konkretną subskrypcję i robi to niezależnie od tego, czy subskrypcja została zamówiona przy użyciu dobrze znanego identyfikatora tematu, czy dowolnej listy ścieżek. Identyfikatory tematu tego formularza są rozróżniane przez kod dostawcy o wartości 0xFFFF.

Zobacz też:
WeaveVendorIdentifiers.hpp

Funkcje

Sprawdź typ TLV

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

Sprawdzić, czy TLV elementem są odczytywane ma oczekiwaną TLV typ.

Sprawdzić daną TLV typ przeciw typu elementu na czele TLV czytelnika.

Detale
Parametry
[in] aType
TLVType do sprawdzenia pod kątem określonego elementu
[in] aReader
Odniesienie do TLV czytnika umieszczonego na elemencie do sprawdzenia
Zwroty
true , jeśli TLVType elementu i aType są zgodne.
Zobacz też:
WeaveTLVTypes.h

SprawdźWDMtag

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

Sprawdź tag specyficzny dla WDM.

Sprawdź numer znacznika WDM-specyficznego, z ... / zarządzania danymi / DMConstants.h przeciwko rzeczywistej tagu na czele TLV czytelnika.

Detale
Parametry
[in] aTagNum
Liczba tag musi być ona sprawdzona przed konkretnym TLV elementu.
[in] aReader
Odniesienie do TLV czytnika skierowaną do elementu do kontroli.
Zwroty
true iff aReader.GetTag() tworzy znacznik, który pasuje do jednej z oczekiwanych form znacznika dla danego numeru znacznika.

CloseDataListElement

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

Zatrzymaj czytanie elementu listy danych WDM.

Ta metoda zakłada, że ​​dany element jest częścią listy danych WDM, a zatem przekazuje kTLVType_Array do ExitContainer().

Detale
Parametry
[in,out] aReader
TLV czytnik umieszczony w elemencie danych listy WDM.
Zwroty
WEAVE_NO_ERROR Na sukces. W innym przypadku zwraca WEAVE_ERROR odbijającą niemożność zamknąć pojemnik.

ZamknijListę

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

Przestań czytać ścieżkę WDM lub listę danych.

Sposób ten zakłada, że lista jest w pytaniu najwyższy TLV elementu i tak przechodzi kTLVType_Sructure do ExitContainer ().

Detale
Parametry
[in,out] aReader
TLV czytnik umieszczony w ścieżce WDM lub listy danych.
Zwroty
WEAVE_NO_ERROR Na sukces. W innym przypadku zwraca WEAVE_ERROR odbijającą niemożność zamknąć pojemnik.

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 przestarzałymi tagami i całkowitym identyfikatorem instancji.

Uwaga: Kodowanie ścieżka przy użyciu przestarzałej tag set zaakceptowany przez służby przed Weave wydania 2.0. Ta wersja metody przyjmuje numeryczny identyfikator wystąpienia. Ta metoda uruchamia kontener z ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), a następnie wstawia identyfikator profilu z ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Następnie wstawia identyfikator instancji z ProfileTag (kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Jest to jedna z przestarzałych wersji do kodowania ścieżki i nowe projekty powinny unikać używania tego formatu.

Detale
Parametry
[in] aWriter
Odwołanie do TLV pisarza używany do zapisywania się na ścieżkę.
[in] aTag
Odwołanie do pełni wykwalifikowanych TLV tag, który ma zastosowanie do tej drogi.
[in] aProfileId
Identyfikator profilu, pod którym mają być interpretowane elementy ścieżki.
[in] aInstanceId
Odwołanie do opcjonalnego identyfikatora instancji profilu, który ma zostać użyty.
[in] aPathLen
Ewentualnie 0, długość listy elementów ścieżki poza początkowym specyfikatorem profilu.
[in] ...
Opcjonalna lista dodatkowych znaczników ścieżki o zmiennej długości.
Zwroty
WEAVE_NO_ERROR Na sukces. W przeciwnym razie zwróci WEAVE_ERROR odbijającą niezdolność do formatowania daną ścieżkę.

EncodeDeprecatedPath

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

Zakoduj ścieżkę WDM z przestarzałymi tagami i identyfikatorem wystąpienia ciągu.

Uwaga: Kodowanie ścieżka przy użyciu przestarzałej zestaw Tag (patrz DMConstants.h). Ta wersja metody przyjmuje ciąg identyfikatora wystąpienia. Ta metoda uruchamia kontener z ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), a następnie wstawia identyfikator profilu z ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Następnie wstawia identyfikator instancji z ProfileTag (kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Jest to jedna z przestarzałych wersji do kodowania ścieżki, a nowe projekty powinny unikać używania tego formatu.

Detale
Parametry
[in] aWriter
Odwołanie do TLV pisarza używany do zapisywania się na ścieżkę.
[in] aTag
Odwołanie do pełni wykwalifikowanych TLV tag, który ma zastosowanie do tej drogi.
[in] aProfileId
Identyfikator profilu, pod którym mają być interpretowane elementy ścieżki.
[in] aInstanceId
Opcjonalny ciąg używany jako identyfikator wystąpienia profilu. Ten argument może mieć wartość NULL, jeśli nie określono identyfikatora instancji.
[in] aPathLen
Ewentualnie 0, długość listy elementów ścieżki poza początkowym specyfikatorem profilu.
[in] ...
Opcjonalna lista dodatkowych znaczników ścieżki o zmiennej długości.
Zwroty
WEAVE_NO_ERROR Na sukces. W przeciwnym razie zwróci WEAVE_ERROR odbijającą niezdolność do formatowania daną ścieżkę.

Ścieżka kodowania

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

Zakoduj ścieżkę WDM z identyfikatorem instancji profilu w postaci liczby całkowitej.

Uwaga: Napisz TLV ścieżkę w rodzaju stosowanych do zarządzania danymi, gdzie, w szczególności, jest oznaczenie profilu umieszczony na początku w celu umożliwienia interpretacji kolejnych elementów ścieżki. Ta wersja metody przyjmuje identyfikator instancji profilu w postaci liczby całkowitej.

Ta metoda wstawia identyfikator wystąpienia przy użyciu ContextTag(kTag_WDMPathProfileInstance), który jest najnowszą wersją do kodowania ścieżki.

Detale
Parametry
[in] aWriter
Odwołanie do TLV pisarza używany do zapisywania się na ścieżkę.
[in] aTag
Odwołanie do pełni wykwalifikowanych TLV tag, który ma zastosowanie do tej drogi.
[in] aProfileId
Identyfikator profilu, pod którym mają być interpretowane elementy ścieżki.
[in] aInstanceId
Odwołanie do opcjonalnego identyfikatora instancji profilu, który ma zostać użyty. Jeśli nie ma być używany żaden identyfikator instancji, ten parametr powinien mieć wartość kInstanceIdNotSpecified.
[in] aPathLen
Ewentualnie 0, długość listy elementów ścieżki poza początkowym specyfikatorem profilu.
[in] ...
Opcjonalna lista dodatkowych znaczników ścieżki o zmiennej długości.
Zwroty
WEAVE_NO_ERROR Na sukces. W przeciwnym razie zwróci WEAVE_ERROR odbijającą niezdolność do formatowania daną ścieżkę.

Ścieżka kodowania

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 z identyfikatorem instancji tablicy bajtów.

Uwaga: Napisz TLV ścieżkę w rodzaju stosowanych do zarządzania danymi, gdzie, w szczególności, jest oznaczenie profilu umieszczony na początku w celu umożliwienia interpretacji kolejnych elementów ścieżki. Ta wersja metody pobiera identyfikator wystąpienia profilu tablicy bajtów wraz z długością.

Ta metoda wstawia identyfikator wystąpienia przy użyciu ContextTag(kTag_WDMPathProfileInstance), który jest najnowszą wersją do kodowania ścieżki.

Detale
Parametry
[in] aWriter
Odwołanie do TLV pisarza używany do zapisywania się na ścieżkę.
[in] aTag
Odwołanie do pełni wykwalifikowanych TLV tag, który ma zastosowanie do tej drogi.
[in] aProfileId
Identyfikator profilu, pod którym mają być interpretowane elementy ścieżki.
[in] aInstanceIdLen
Długość tablicy bajtów, która stanowi identyfikator instancji. Jeśli nie ma identyfikatora, parametr ten powinien mieć wartość 0.
[in] aInstanceId
Opcjonalna tablica bajtów używana jako identyfikator instancji profilu. Ten argument może mieć wartość NULL w przypadku, gdy nie określono identyfikatora instancji.
[in] aPathLen
Ewentualnie 0, długość listy elementów ścieżki poza początkowym specyfikatorem profilu.
[in] ...
Opcjonalna lista dodatkowych znaczników ścieżki o zmiennej długości.
Zwroty
WEAVE_NO_ERROR Na sukces. W przeciwnym razie zwróci WEAVE_ERROR odbijającą niezdolność do formatowania daną ścieżkę.

Ścieżka kodowania

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

Zakoduj ścieżkę WDM z identyfikatorem wystąpienia ciągu.

Uwaga: Napisz TLV ścieżkę w rodzaju stosowanych do zarządzania danymi, gdzie, w szczególności, jest oznaczenie profilu umieszczony na początku w celu umożliwienia interpretacji kolejnych elementów ścieżki. Ta wersja metody przyjmuje identyfikator wystąpienia profilu ciągu.

Ta metoda wstawia identyfikator wystąpienia przy użyciu ContextTag(kTag_WDMPathProfileInstance), który jest najnowszą wersją do kodowania ścieżki.

Detale
Parametry
[in] aWriter
Odwołanie do TLV pisarza używany do zapisywania się na ścieżkę.
[in] aTag
Odwołanie do pełni wykwalifikowanych TLV tag, który ma zastosowanie do tej drogi.
[in] aProfileId
Identyfikator profilu, pod którym mają być interpretowane elementy ścieżki.
[in] aInstanceId
Opcjonalny ciąg używany jako identyfikator wystąpienia profilu. Ten argument może mieć wartość NULL, jeśli nie określono identyfikatora instancji.
[in] aPathLen
Ewentualnie 0, długość listy elementów ścieżki poza początkowym specyfikatorem profilu.
[in] ...
Opcjonalna lista dodatkowych znaczników ścieżki o zmiennej długości.
Zwroty
WEAVE_NO_ERROR Na sukces. W przeciwnym razie zwróci WEAVE_ERROR odbijającą niezdolność do formatowania daną ścieżkę.

EndDataListElement

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

Zakończ pisanie elementu listy danych.

Wpisz TLV na końcu elementu listy danych WDM. Zauważ, że to automatycznie przekazuje typ kTLVType_Array do wywołania EndContainer(), zakładając, że zawsze zamykamy element listy.

Detale
Parametry
[in] aWriter
Odniesienie do TLV pisarz, z którym napisać koniec elementu.
Zwroty
WEAVE_NO_ERROR Na sukces. W innym przypadku zwraca WEAVE_ERROR odbijającą niezdolność do zakończenia pojemnika.

EndEncodePath

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

Lista końcowa

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

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

Wpisz TLV na końcu ścieżki WDM lub listy danych. Ponadto sfinalizuj pisarza.

Detale
Parametry
[in,out] aWriter
Odniesienie do TLV pisarz, z którym napisać koniec listy.
Zwroty
WEAVE_NO_ERROR Na sukces. W innym przypadku zwraca WEAVE_ERROR odbijającą niezdolność do zakończenia pojemnika.

Lista końcowa

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

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

Wpisz TLV na końcu ścieżki WDM lub listy danych. Ponadto sfinalizuj pisarza. W tym przypadku, ReferencedTLVData obiekt, do którego TLV jest napisane jest przekazywana i modyfikowane w celu odzwierciedlenia ilości danych pisemnych.

Detale
Parametry
[in,out] aList
Odwołanie do obiektu ReferenceTLVData, do którego była zapisywana lista.
[in] aWriter
Odniesienie do TLV pisarz, z którym napisać koniec listy.
Zwroty
WEAVE_NO_ERROR Na sukces. W innym przypadku zwraca WEAVE_ERROR odbijającą niezdolność do zakończenia pojemnika.

Jest specyficzny dla wydawcy?

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Sprawdź, czy identyfikator tematu jest specyficzny dla wydawcy.

Detale
Parametry
[in] aTopicId
identyfikator tematu ot check
Zwroty
prawda, jeśli identyfikator tematu zależy od wydawcy, w przeciwnym razie fałsz

OpenDataList

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

Zacznij czytać listę danych.

Mając nowy czytnik i listę danych, zacznij czytać listę i sprawdź poprawność tagów i typów początkowo napotkanych w procesie. Jeśli wszystko pójdzie dobrze, czytnik zatrzyma się po wejściu do kontenera listy.

Detale
Parametry
[in] aDataList
Lista dane przekazywane jako odniesienie do ReferencedTLVData obiektu. Normalnym przypadkiem użycia będzie sytuacja, w której lista nadal znajduje się w buforze po otrzymaniu.
[out] aReader
Odniesienie do TLV czytnik używany do odczytywania listy danych. Ten czytelnik pozostanie wskazujący tuż przed pierwszą pozycją na liście.
Zwroty
WEAVE_NO_ERROR Na sukces. W przeciwnym razie zwróci WEAVE_ERROR odbijającą awarię otwartym liście danych i / lub zatwierdzić odpowiednie znaczniki i typy.

Element OpenDataList

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

Zacznij czytać element listy danych.

Mając czytnik umieszczony w elemencie listy danych, rozpocznij odczytywanie elementu i sprawdź poprawność tagów i typów początkowo napotkanych w procesie. Jeśli wszystko pójdzie dobrze, czytnik zostanie ustawiony na danych elementu danych, a czytnik ścieżki wejścia/wyjścia zostanie ustawiony na odpowiedniej ścieżce.

Detale
Parametry
[in] aReader
Odniesienie do TLV czytnika umieszczony w elemencie danych listy.
[out] aPathReader
Odniesienie do TLV czytnika być skierowany w stronę elementu toru elementu lista danych.
[out] aVersion
Odwołanie do 64-bitowej liczby całkowitej, która ma być ustawiona na wersję elementu listy danych, jeśli taki istnieje, lub na wartość kVersionNotSpecified.
Zwroty
WEAVE_NO_ERROR na sukces lub inny o WEAVE_ERROR związanego z otwarciem i czytanie element listy danych.

OpenPathList

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

Zacznij czytać listę ścieżek.

Mając nowy czytnik i listę ścieżek, zacznij czytać listę i sprawdź poprawność tagów i typów początkowo napotkanych w procesie. Jeśli wszystko pójdzie dobrze, czytnik zatrzyma się po wejściu do kontenera listy.

Detale
Parametry
[in] aPathList
Lista ścieżka przekazywane jako odniesienie do ReferencedTLVData obiektu. Normalnym przypadkiem użycia będzie sytuacja, w której lista nadal znajduje się w buforze po otrzymaniu.
[out] aReader
Odniesienie do TLV czytnik używany do odczytywania listy ścieżek. Ten czytelnik pozostanie wskazujący tuż przed pierwszą ścieżką na liście.
Zwroty
WEAVE_NO_ERROR na sukces; inaczej, WEAVE_ERROR odzwierciedlając awarii otwartej listy ścieżek i / lub zweryfikować odpowiednie znaczniki i typy.

Identyfikator konkretnego tematu wydawcy

TopicIdentifier PublisherSpecificTopicId(
  void
)

Wygeneruj od podstaw identyfikator tematu dla wydawcy.

Detale
Zwroty
nowy identyfikator tematu.

Wyślij raport o stanie

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

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

Zacznij pisać listę danych.

Wpisz TLV na początku listy danych WDM, np jako podstawowy argument w UpdateRequest ().

Detale
Parametry
[in] aWriter
Odniesienie do TLV pisarza z którego można zacząć pisać.
Zwroty
WEAVE_NO_ERROR Na sukces. W innym przypadku zwraca WEAVE_ERROR odbijającą uniemożliwić uruchomienie pojemnika.

StartDataListData

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

Zacznij pisać listy danych do danego ReferencedTLVData obiektu.

Wpisz TLV na początku listy danych WDM. W tym przypadku zakładamy, że piszemy na listę danych do odwołania TLV struktury danych. Zakłada się, że program piszący jest niezainicjalizowany - lub w każdym przypadku zostanie zainicjowany, aby wskazywał na dany obiekt.

Detale
Parametry
[out] aDataList
Odniesienie do ReferencedTLVData obiektu, który ma być celem pisarza i ostatecznie zawierać dane interesów.
[in] aWriter
Odniesienie do TLV pisarza z którego można zacząć pisać.
Zwroty
WEAVE_NO_ERROR Na sukces. W innym przypadku zwraca WEAVE_ERROR odbijającą uniemożliwić uruchomienie pojemnika.

StartDataListElement

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

Zacznij pisać element listy danych.

Wpisz TLV na początku elementu listy danych WDM.

Detale
Parametry
[in] aWriter
Odniesienie do TLV pisarza z którego można zacząć pisać.
Zwroty
WEAVE_NO_ERROR Na sukces. W innym przypadku zwraca WEAVE_ERROR odbijającą uniemożliwić uruchomienie pojemnika.

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żki WDM, na przykład jako głównego argumentu o ViewRequest ().

Detale
Parametry
[in] aWriter
Odniesienie do TLV pisarza z którego można zacząć pisać.
Zwroty
WEAVE_NO_ERROR Na sukces. W innym przypadku zwraca WEAVE_ERROR odbijającą uniemożliwić uruchomienie pojemnika.

Obsługa odpowiedzi Txn

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

Obsługa limitu czasu Txn

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

Sprawdź typ TLV

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

Potwierdzić, że TLV elementem są odczytywane ma oczekiwaną TLV typ.

Sprawdzić daną TLV typ przeciw typu elementu na czele TLV czytelnika i zwraca błąd, jeśli nie ma odpowiednika.

Detale
Parametry
[in] aType
TLVType do zweryfikowania względem określonego elementu.
[in] aReader
Odniesienie do TLV czytnika umieszczonego na elemencie zostać zatwierdzone.
Zwroty
WEAVE_NO_ERROR jeśli jest mecz lub WEAVE_ERROR_WRONG_TLV_TYPE czy nie.
Zobacz też:
WeaveTLVTypes.h

Sprawdź poprawność tagu WDM

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

Potwierdzić, że TLV elementem są odczytywane ma oczekiwaną tag WDM.

Detale
Parametry
[in] aTagNum
32-bitowy numer znacznika oczekiwanego znacznika WDM.
[in] aReader
TLV czytnik umieszczony na elemencie zostać zatwierdzone.
Zwroty
WEAVE_NO_ERROR Na sukces. Inaczej WEAVE_ERROR_INVALID_TLV_TAG jeśli szablon nie pasuje do danego numeru znacznika kiedy interpretowana jako znak WDM.