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
Definicje typów | |
---|---|
TopicIdentifier | typedefuint64_t Identyfikator tematu. |
Funkcje | |
---|---|
CheckTLVType ( nl::Weave::TLV::TLVType aType,nl::Weave::TLV::TLVReader & aReader) | bool |
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) | |
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
@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ę.
@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.
@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”.
WeaveTransportOption
WeaveTransportOption
Opcje transportu WDM.
Są to wzajemnie wykluczające się opcje transportu dla WDM.
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 |
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 |
| ||||
Zwroty | true , jeśli TLVType elementu i aType są zgodne. |
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 |
| ||||
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 |
| ||
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 |
| ||
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 |
| ||||||||||||
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 |
| ||||||||||||
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 |
| ||||||||||||
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 |
| ||||||||||||||
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 |
| ||||||||||||
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 |
| ||
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 |
| ||
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 |
| ||||
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 |
| ||
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 |
| ||||
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 |
| ||||||
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 |
| ||||
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 |
| ||
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 |
| ||||
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 |
| ||
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 |
| ||
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 |
| ||||
Zwroty | WEAVE_NO_ERROR jeśli jest mecz lub WEAVE_ERROR_WRONG_TLV_TYPE czy nie. |
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 |
| ||||
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. |