нл:: Переплетение:: TLV
Определения для работы с данными, закодированными в формате Weave TLV .
Краткое содержание
Weave TLV — это обобщенный метод кодирования простых структурированных данных. Он разделяет многие свойства с широко используемым форматом сериализации JSON, но при этом значительно более компактен при передаче по сети.
Перечисления | |
---|---|
@71 | перечисление |
@73 | перечисление |
@74 { | перечисление |
@75 | перечисление |
TLVCommonProfiles { | перечисление |
TLVElementType | перечисление |
TLVFieldSize | перечисление |
TLVTagControl | перечисление |
TLVTagFields | перечисление |
TLVType | перечисление Перечисление, определяющее тип элемента TLV . |
Переменные | |
---|---|
kWeaveTLVCopyChunkSize = 16 | const size_t Копирует элемент TLV из объекта чтения в модуль записи. |
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[] | const uint8_t |
Функции | |
---|---|
CommonTag (uint32_t tagNum) | uint64_t Создает API-представление тега TLV общего профиля. |
ContextTag (uint8_t tagNum) | uint64_t Создает представление API для контекстно-зависимого тега TLV . |
GetTLVFieldSize (uint8_t type) | TLVFieldSize |
IsContextTag (uint64_t tag) | bool Возвращает true, если предоставленный тег является тегом, зависящим от контекста. |
IsProfileTag (uint64_t tag) | bool Возвращает true для предоставленного тега, который является тегом, специфичным для профиля. |
IsSpecialTag (uint64_t tag) | bool |
IsValidTLVType (uint8_t type) | bool Возвращает true, если указанный тип TLV действителен. |
ProfileIdFromTag (uint64_t tag) | uint32_t Возвращает идентификатор профиля из тега TLV . |
ProfileNumFromTag (uint64_t tag) | uint16_t Возвращает номер профиля из тега TLV . |
ProfileTag (uint32_t profileId, uint32_t tagNum) | uint64_t Создает API-представление тега TLV для конкретного профиля на основе идентификатора профиля и номера тега. |
ProfileTag (uint16_t vendorId, uint16_t profileNum, uint32_t tagNum) | uint64_t Создает API-представление тега TLV для конкретного профиля на основе идентификатора поставщика, номера профиля и номера тега. |
TLVFieldSizeToBytes (TLVFieldSize fieldSize) | uint8_t |
TLVTypeHasLength (uint8_t type) | bool Возвращает true, если указанный тип TLV подразумевает наличие связанного поля длины. |
TLVTypeHasValue (uint8_t type) | bool Возвращает true, если указанный тип TLV подразумевает наличие связанного поля значения. |
TLVTypeIsContainer (uint8_t type) | bool Возвращает true, если указанный тип TLV является контейнером. |
TLVTypeIsString (uint8_t type) | bool Возвращает true, если указанный тип TLV представляет собой строку UTF8 или байтовую строку. |
TagNumFromTag (uint64_t tag) | uint32_t Возвращает номер тега из тега TLV . |
VendorIdFromTag (uint64_t tag) | uint16_t Возвращает идентификатор поставщика из тега TLV . |
Классы | |
---|---|
nl:: Weave:: TLV:: CircularTLVReader | |
nl:: Weave:: TLV:: CircularTLVWriter | |
nl::Weave::TLV::TLVReader | Обеспечивает эффективный анализатор данных, закодированных в формате Weave TLV . |
nl:: Weave:: TLV:: TLVUpdater | Предоставляет унифицированный интерфейс чтения/записи для редактирования/добавления/удаления элементов в кодировке TLV . |
nl:: Weave:: TLV:: TLVWriter | Предоставляет эффективный кодировщик памяти для записи данных в формате Weave TLV . |
nl:: Weave:: TLV:: WeaveCircularTLVBuffer | WeaveCircularTLVBuffer обеспечивает циклическое хранилище для nl::Weave::TLV::TLVWriter и nl::Weave::TLVTLVReader. |
Пространства имен | |
---|---|
nl:: Weave:: TLV:: Отладка | Это пространство имен включает типы и интерфейсы для отладки и регистрации Weave TLV . |
nl:: Weave:: TLV:: Утилиты | Это пространство имен включает в себя типы и служебные интерфейсы для управления и работы с Weave TLV . |
Перечисления
@71
@71
@73
@73
@74
@74
Характеристики | |
---|---|
AnonymousTag | Значение, обозначающее элемент TLV , не имеющий тега (т. е. анонимный элемент). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Характеристики | |
---|---|
kProfileIdNotSpecified | Используется для обозначения отсутствия идентификатора профиля в переменной или члене. По сути, это то же самое, что и kweaveProfile_NotSpecified, определенное в WeaveProfiles.h. |
Тлвелементтипе
TLVElementType
TLVFieldSize
TLVFieldSize
Тлвтагконтрол
TLVTagControl
TLVTagFields
TLVTagFields
Переменные
kweaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Копирует элемент TLV из объекта чтения в модуль записи.
Метод CopyElement() кодирует новый элемент TLV , тип и значение которого берутся из объекта TLVReader . При вызове метода ожидается, что предоставленный объект чтения будет расположен в исходном элементе TLV . Вновь закодированный элемент будет иметь тот же тип и содержимое, что и входной контейнер, однако тегу будет присвоен указанный аргумент. Если предоставленный элемент является контейнером TLV (структура, массив или путь), будет скопировано все содержимое контейнера.
Подробности | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||||||
Возвращаемые значения |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Функции
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Создает API-представление тега TLV общего профиля.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 64-битное целое число, представляющее тег. |
КонтекстТаг
uint64_t ContextTag( uint8_t tagNum )
Создает представление API для контекстно-зависимого тега TLV .
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | 64-битное целое число, представляющее тег. |
ПолучитьTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
Исконтекстетаг
bool IsContextTag( uint64_t tag )
Возвращает true, если предоставленный тег является тегом, зависящим от контекста.
Испрофилетаг
bool IsProfileTag( uint64_t tag )
Возвращает true для предоставленного тега, который является тегом, специфичным для профиля.
IsSpecialTag
bool IsSpecialTag( uint64_t tag )
ИсвалидТЛВтипе
bool IsValidTLVType( uint8_t type )
Профильидфромтаг
uint32_t ProfileIdFromTag( uint64_t tag )
ПрофильNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
ПрофильТег
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
Создает API-представление тега TLV для конкретного профиля на основе идентификатора профиля и номера тега.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | 64-битное целое число, представляющее тег. |
ПрофильТег
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
Генерирует API-представление тега TLV для конкретного профиля на основе идентификатора поставщика, номера профиля и номера тега.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возврат | 64-битное целое число, представляющее тег. |
TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTypeHasLength
bool TLVTypeHasLength( uint8_t type )
TLVTypeHasValue
bool TLVTypeHasValue( uint8_t type )
ТЛВтипеисконтейнер
bool TLVTypeIsContainer( uint8_t type )
TLVTypeIsString
bool TLVTypeIsString( uint8_t type )
ТегNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
Возвращает номер тега из тега TLV .
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Соответствующий номер тега. |
IsProfileTag() и IsContextTag()