nl:: Weave:: TLV
Definições para trabalhar com dados codificados no formato TLV do Weave.
Resumo
O TLV do Weave é um método de codificação generalizado para dados estruturados simples. Ele compartilha muitas propriedades com o formato de serialização JSON comumente usado, além de ser consideravelmente mais compacto ao longo da transmissão.
Enumerações |
|
---|---|
@71
|
enum |
@73
|
enum |
@74{
|
enum |
@75
|
enum |
TLVCommonProfiles{
|
enum |
TLVElementType
|
enum |
TLVFieldSize
|
enum |
TLVTagControl
|
enum |
TLVTagFields
|
enum |
TLVType
|
enum Uma enumeração que identifica o tipo de um elemento TLV. |
Variáveis |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
Copia um elemento TLV de um objeto de leitor para o gravador.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
Funções |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Gera a representação da API de uma tag TLV de perfil comum.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Gera a representação da API para a tag TLV específica do contexto.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
Retorna true se a tag fornecida for específica do contexto.
|
IsProfileTag(uint64_t tag)
|
bool
Retorna verdadeiro caso a tag fornecida seja uma tag específica do perfil.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Retorna verdadeiro se o tipo TLV especificado for válido.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
Retorna o ID do perfil de uma tag TLV.
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
Retorna o número do perfil de uma tag TLV.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
Gera a representação de API de uma tag TLV específica de perfil com base em um ID de perfil e número de tag.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
Gera a representação de API de uma tag TLV específica do perfil com base em um ID de fornecedor, número de perfil e número de tag.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
Retorna verdadeiro se o tipo TLV especificado implica a presença de um campo de comprimento associado.
|
TLVTypeHasValue(uint8_t type)
|
bool
Retorna verdadeiro se o tipo TLV especificado implica a presença de um campo de valor associado.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Retorna "true" se o tipo de TLV especificado for um contêiner.
|
TLVTypeIsString(uint8_t type)
|
bool
Retorna verdadeiro se o tipo TLV especificado for uma string UTF8 ou de bytes.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
Retorna o número de uma tag TLV.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
Retorna o ID do fornecedor de uma tag TLV.
|
Classes |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Fornece um analisador com eficiência de memória para dados codificados no formato TLV do Weave. |
nl:: |
Fornece uma interface unificada de leitor/gravador para editar/adicionar/excluir elementos na codificação TLV. |
nl:: |
Fornece um codificador com eficiência de memória para gravar dados no formato TLV do Weave. |
nl:: |
O WeaveCircularTLVBuffer oferece armazenamento circular para nl::Weave::TLV::TLVWriter e nl::Weave::TLVTLVReader. |
Namespaces |
|
---|---|
nl:: |
Esse namespace inclui tipos e interfaces para depuração e registro de TLV do Weave. |
nl:: |
Esse namespace inclui tipos e interfaces utilitárias para gerenciar e trabalhar com o TLV do Weave. |
Enumerações
@71
@71
@73
@73
@74
@74
Propriedades | |
---|---|
AnonymousTag
|
Um valor que significa um elemento TLV sem tag (ou seja, um elemento anônimo). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Propriedades | |
---|---|
kProfileIdNotSpecified
|
Usado para indicar a ausência de um ID de perfil em uma variável ou membro. Ele é essencialmente o mesmo que kWeaveProfile_Notspecified definido em WeaveProfiles.h. |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
Variáveis
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Copia um elemento TLV de um objeto de leitor para o gravador.
O método CopyElement() codifica um novo elemento TLV, cujo tipo e valor são obtidos de um objeto TLVReader. Quando o método é chamado, espera-se que o objeto leitor fornecido seja posicionado no elemento TLV de origem. O elemento recém-codificado terá o mesmo tipo e conteúdo do contêiner de entrada, mas a tag será definida como o argumento especificado. Se o elemento fornecido for um contêiner TLV (estrutura, matriz ou caminho), todo o conteúdo do contêiner será copiado.
Detalhes | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||||||||
Valores de retorno |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Funções
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Gera a representação da API de uma tag TLV de perfil comum.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Um número inteiro de 64 bits que representa a tag.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
Gera a representação da API para a tag TLV específica do contexto.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Um número inteiro de 64 bits que representa a tag.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
Retorna true se a tag fornecida for específica do contexto.
IsProfileTag
bool IsProfileTag( uint64_t tag )
Retorna verdadeiro caso a tag fornecida seja uma tag específica do perfil.
IsSpecialTag
bool IsSpecialTag( uint64_t tag )
IsValidTLVType
bool IsValidTLVType( uint8_t type )
ProfileIdFromTag
uint32_t ProfileIdFromTag( uint64_t tag )
ProfileNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
ProfileTag
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
Gera a representação de API de uma tag TLV específica de perfil com base em um ID de perfil e número de tag.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retornos |
Um número inteiro de 64 bits que representa a tag.
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
Gera a representação de API de uma tag TLV específica do perfil com base em um ID de fornecedor, número de perfil e número de tag.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retornos |
Um número inteiro de 64 bits que representa a tag.
|
TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTypeHasLength
bool TLVTypeHasLength( uint8_t type )
TLVTypeHasValue
bool TLVTypeHasValue( uint8_t type )
TLVTypeIsContainer
bool TLVTypeIsContainer( uint8_t type )
TLVTypeIsString
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
Retorna o número de uma tag TLV.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
O número da tag associada.
|
IsProfileTag() e IsContextTag()