nl::Weave::Profiles::DataManagement_Legacy

Esse namespace inclui todas as interfaces no Weave para o perfil de gerenciamento de dados (WDM) do Weave que está prestes a ser descontinuado.

Resumo

Enumerações

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
@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
Tamanhos de mesa e pool de 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
Os tipos de mensagem do perfil WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
Constantes específicas de WDM.
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
Códigos de status específicos do 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
as tags do protocolo de gerenciamento de dados do Google.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
IDs de tópicos distintos.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
Opções de transporte WDM.

Typedefs

TopicIdentifier typedef
uint64_t
O identificador de tópico.

Funções

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Verifique se um elemento TLV que está sendo lido tem o tipo TLV esperado.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Verifique uma tag específica do WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Interrompe a leitura de um elemento da lista de dados WDM.
CloseList(nl::Weave::TLV::TLVReader & aReader)
Interrompe a leitura de um caminho ou lista de dados WDM.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Codifique um caminho WDM com tags descontinuadas e um ID de instância de número inteiro.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Codifique um caminho WDM com tags descontinuadas e um ID de instância de string.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Codifique um caminho WDM com um ID de instância de perfil de número inteiro.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
Codifique um caminho WDM com um ID de instância de matriz de bytes.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Codifique um caminho WDM com um ID de instância de string.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Termine de gravar um elemento da lista de dados.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
Termine de gravar uma lista de caminhos ou dados.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Termine de gravar uma lista de caminhos ou dados.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Verificar se um ID de tópico é específico do editor.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
Comece a ler uma lista de dados.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Comece a ler um elemento da lista de dados.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
Comece a ler uma lista de caminhos.
PublisherSpecificTopicId(void)
Gere um ID do tópico específico do editor do zero.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
Comece a escrever uma lista de dados.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
Comece a gravar uma lista de dados em um determinado objeto ReferencedTLVData.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Comece a gravar um elemento da lista de dados.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
Comece a escrever uma lista de caminhos.
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)
Valide se um elemento TLV que está sendo lido tem o tipo TLV esperado.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Confira se um elemento TLV que está sendo lido tem a tag WDM esperada.

Classes

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

A classe Binding gerencia o estado das comunicações em nome de uma entidade de aplicativo usando o Weave.

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

Uma classe abstrata contendo definições de método de confirmação e indicação exigidas pelo cliente WDM.

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

Uma classe auxiliar empregada quando o suporte a assinaturas e notificações é desejado em um cliente WDM.

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

A classe de base abstrata para clientes WDM específicos do aplicativo.

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

A classe de base abstrata para editores WDM específicos do aplicativo.

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

A classe auxiliar ProfileDatabase abstrata.

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

A classe de mecanismo do protocolo WDM.

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

Uma classe abstrata que contém as definições de método de confirmação e notificação exigidas pelo editor do WDM.

Enumerações

@103

 @103
Propriedades
kStatus_CancelSuccess

Este código de status legado significa que uma assinatura foi cancelada.

Esse código de status significa que uma assinatura foi cancelada.

kStatus_IllegalReadRequest

Esse código de status legado significa que o nó que está fazendo a solicitação de leitura de um determinado item de dados não tem permissão para fazer isso.

Esse código de status significa que o nó que está fazendo a solicitação de leitura de um determinado item de dados não tem permissão para fazer isso.

kStatus_IllegalWriteRequest

Esse código de status legado significa que o nó que está fazendo a solicitação para gravar um item de dados específico não tem permissão para fazer isso.

Esse código de status significa que o nó que está fazendo a solicitação para gravar um item de dados específico não tem permissão para fazer isso.

kStatus_InvalidPath

Esse código de status legado significa que um caminho da lista de caminhos de um frame de solicitação de visualização ou atualização não correspondeu ao esquema residente do nó do participante.

Esse código de status significa que um caminho da lista de caminhos de um frame de solicitação de atualização ou visualização não correspondeu ao esquema residente do nó do participante.

kStatus_InvalidVersion

Esse código de status legado significa que a versão dos dados incluídos em uma solicitação de atualização não corresponde à versão mais recente no editor e, por isso, não foi possível aplicar a atualização.

Esse código de status significa que a versão dos dados incluídos em uma solicitação de atualização não corresponde à versão mais recente no editor e, por isso, não foi possível aplicar a atualização.

kStatus_UnknownTopic

Esse código de status legado significa que o identificador do tópico fornecido em uma solicitação ou notificação de cancelamento não correspondeu a nenhuma assinatura existente no nó de recebimento.

Esse código de status significa que o identificador do tópico fornecido em uma solicitação ou notificação de cancelamento não corresponde a nenhuma assinatura existente no nó de recebimento.

kStatus_UnsupportedSubscriptionMode

Esse código de status legado significa que o modo de assinatura solicitado não é compatível com o dispositivo receptor.

Esse código de status significa que o modo de assinatura solicitado não é compatível com o dispositivo receptor.

a 166

 @166

Tamanhos de mesa e pool de WDM.

O WDM define vários pools e tabelas que são necessários para a operação, conforme mostrado abaixo.

Pools de transação do cliente:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Pools de transação do editor:

  • kNotifyPoolSize

Tabelas do mecanismo de protocolo:

  • kTransactionTableSize
  • kBindingTableSize

Tabelas relacionadas a assinaturas:

  • kNotifierTableSize (somente cliente)
  • kSubscriptionMgrTableSize (somente editor)

Essas quantidades são configuráveis e os valores por plataforma aparecem no WeaveConfig.h associado.

Propriedades
kBindingTableSize

Esse é o tamanho padrão da tabela de vinculação no mecanismo do protocolo WDM.

Este valor pode ser configurado por meio de WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE.

kCancelSubscriptionPoolSize

Esse é o tamanho padrão do pool de transações de solicitações de cancelamento de assinatura para um cliente WDM.

Esse valor pode ser configurado via WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE.

kNotifierTableSize

Esse é o tamanho padrão da tabela de notificações para clientes WDM.

Este valor pode ser configurado por meio de WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE.

kNotifyPoolSize

Esse é o tamanho padrão do pool de transações de solicitações de notificação de um editor do WDM.

Este valor pode ser configurado via WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE.

kSubscribePoolSize

Esse é o tamanho padrão do pool de transações de solicitações de inscrição para um cliente WDM.

Este valor pode ser configurado por meio de WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

Esse é o tamanho padrão da tabela de assinaturas para editores do WDM.

Esse valor pode ser configurado via WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE.

kTransactionTableSize

Esse é o tamanho padrão da tabela de transações no mecanismo do protocolo WDM.

Este valor pode ser configurado por meio de WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE.

kUpdatePoolSize

Esse é o tamanho padrão do pool de transações de solicitações de atualização para um cliente WDM.

Este valor pode ser configurado por meio de WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE.

kViewPoolSize

Esse é o tamanho padrão do pool de transações de solicitações de visualização para um cliente WDM.

Este valor pode ser configurado por meio de WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

Os tipos de mensagem do perfil WDM.

Esses valores são destacados na especificação de gerenciamento de dados.

OBSERVAÇÃO: Desde o primeiro trimestre de 2015, os tipos de mensagem usados nas versões anteriores do WDM foram descontinuados e novos tipos de mensagens foram definidos, refletindo uma mudança suficiente com detalhes de empacotamento e análise anteriores para justificar uma pausa.

Propriedades
kMsgType_CancelSubscriptionRequest

Cancelar a mensagem de solicitação de assinatura.

kMsgType_CancelSubscriptionRequest_Deprecated

descontinuado

kMsgType_NotifyRequest

Mensagem de solicitação de notificação.

kMsgType_NotifyRequest_Deprecated

descontinuado

kMsgType_SubscribeRequest

Mensagem da solicitação de inscrição.

kMsgType_SubscribeRequest_Deprecated

descontinuado

kMsgType_SubscribeResponse

Mensagem de resposta da inscrição.

kMsgType_SubscribeResponse_Deprecated

descontinuado

kMsgType_UpdateRequest

Mensagem de solicitação de atualização.

kMsgType_UpdateRequest_Deprecated

descontinuado

kMsgType_ViewRequest

Ver mensagem da solicitação.

kMsgType_ViewRequest_Deprecated

descontinuado

kMsgType_ViewResponse

Ver mensagem de resposta.

kMsgType_ViewResponse_Deprecated

descontinuado

a 168

 @168

Constantes específicas de WDM.

Propriedades
kDefaultBindingTableIndex

O índice da vinculação padrão em uma tabela de vinculação do mecanismo de protocolo com mais de uma entrada.

kInstanceIdNotSpecified

Em chamadas que exigem uma especificação de instância de perfil, indica "nenhum".

Na maioria das vezes, isso significa que apenas uma instância do perfil está presente na entidade em questão.

kResponseTimeoutNotSpecified

Em métodos que solicitam uma transação, indica que o autor da chamada recusou a especificação de um tempo limite.

Geralmente, isso significa que um padrão deve ser usado.

kTransactionIdNotSpecified

Em métodos e estruturas de dados que recebem um ID de transação, indica "nenhum" ou um valor curinga.

kVersionNotSpecified

Em chamadas que exigem a especificação de uma versão de dados, indica "nenhuma versão específica".

kWeaveTLVControlByteLen

O tamanho de um byte de controle TLV, usado em métodos de suporte que codificam estruturas WDM em TLV.

kWeaveTLVTagLen

O tamanho padrão em bytes de uma tag TLV totalmente qualificada, usada em métodos de suporte que codificam estruturas WDM em TLV.

@169

 @169

Códigos de status específicos do WDM.

Propriedades
kStatus_CancelSuccess

Este código de status legado significa que uma assinatura foi cancelada.

Esse código de status significa que uma assinatura foi cancelada.

kStatus_IllegalReadRequest

Esse código de status legado significa que o nó que está fazendo a solicitação de leitura de um determinado item de dados não tem permissão para fazer isso.

Esse código de status significa que o nó que está fazendo a solicitação de leitura de um determinado item de dados não tem permissão para fazer isso.

kStatus_IllegalWriteRequest

Esse código de status legado significa que o nó que está fazendo a solicitação para gravar um item de dados específico não tem permissão para fazer isso.

Esse código de status significa que o nó que está fazendo a solicitação para gravar um item de dados específico não tem permissão para fazer isso.

kStatus_InvalidPath

Esse código de status legado significa que um caminho da lista de caminhos de um frame de solicitação de visualização ou atualização não correspondeu ao esquema residente do nó do participante.

Esse código de status significa que um caminho da lista de caminhos de um frame de solicitação de atualização ou visualização não correspondeu ao esquema residente do nó do participante.

kStatus_InvalidVersion

Esse código de status legado significa que a versão dos dados incluídos em uma solicitação de atualização não corresponde à versão mais recente no editor e, por isso, não foi possível aplicar a atualização.

Esse código de status significa que a versão dos dados incluídos em uma solicitação de atualização não corresponde à versão mais recente no editor e, por isso, não foi possível aplicar a atualização.

kStatus_UnknownTopic

Esse código de status legado significa que o identificador do tópico fornecido em uma solicitação ou notificação de cancelamento não correspondeu a nenhuma assinatura existente no nó de recebimento.

Esse código de status significa que o identificador do tópico fornecido em uma solicitação ou notificação de cancelamento não corresponde a nenhuma assinatura existente no nó de recebimento.

kStatus_UnsupportedSubscriptionMode

Esse código de status legado significa que o modo de assinatura solicitado não é compatível com o dispositivo receptor.

Esse código de status significa que o modo de assinatura solicitado não é compatível com o dispositivo receptor.

a 170

 @170

as tags do protocolo de gerenciamento de dados do Google.

O protocolo de gerenciamento de dados define várias tags a serem usadas na representação TLV dos dados de perfil.

Como sempre, há problemas de compatibilidade entre o novo WDM e o antigo. antigamente, todas essas tags eram aplicadas como específicas do perfil, o que era um desperdício de espaço. agora estamos usando tags de contexto sempre que possível, mas precisamos manter as antigas (e ter um mecanismo para codificar caminhos com elas no lugar) quando apropriado.

A tag kTag_WDMDataListElementData não foi usada em versões anteriores e foi completamente ignorada pelo código. Por isso, não precisamos fornecer uma versão descontinuada.

Propriedades
kTag_WDMDataList

O elemento é uma lista de estruturas contendo caminho, versão opcional e elementos de dados.

Tipo de tag: específico do perfil Tipo de elemento: disposição da matriz: nível superior

kTag_WDMDataListElementData

O elemento representa os dados apontados por determinado caminho e tendo a versão especificada.

Tipo de tag: Tipo de elemento específico do contexto: Qualquer disposição: obrigatória

kTag_WDMDataListElementData_Deprecated

Obsoleto.

Tipo de tag: Tipo de elemento específico do contexto: Qualquer disposição: obrigatória

kTag_WDMDataListElementPath

O elemento é o componente do caminho de um elemento da lista de dados.

Tipo de tag: específico do contexto Tipo de elemento: disposição do caminho: obrigatório

kTag_WDMDataListElementPath_Deprecated

Obsoleto.

Tipo de tag: específico do perfil Tipo de elemento: disposição do caminho: obrigatório

kTag_WDMDataListElementVersion

O elemento é o componente da versão de um elemento da lista de dados.

Tipo de tag: tipo de elemento específico do contexto: disposição de números inteiros: obrigatório

kTag_WDMDataListElementVersion_Deprecated

Obsoleto.

Tipo de tag: tipo de elemento específico do perfil: disposição de números inteiros: obrigatório

kTag_WDMPathArrayIndexSelector

O elemento de caminho corresponde a uma matriz no esquema, e o elemento inteiro contido deve ser usado como um índice nessa matriz.

Tipo de tag: tipo de elemento específico do perfil: disposição de números inteiros: opcional

kTag_WDMPathArrayValueSelector

O elemento de caminho corresponde a uma matriz no esquema, e o elemento encapsulado deve ser usado como um seletor de registro.

Tipo de tag: tipo de elemento específico do perfil: disposição da estrutura: opcional

kTag_WDMPathList

O elemento é uma lista de caminhos TLV.

Tipo de tag: específico do perfil Tipo de elemento: disposição da matriz: nível superior

kTag_WDMPathProfile

O elemento é uma estrutura usada para iniciar um caminho e contém as informações de perfil conforme as tags no caminho devem ser interpretadas.

Tipo de tag: tipo de elemento específico do perfil: disposição da estrutura: obrigatório

kTag_WDMPathProfileId

O elemento é um componente de ID do perfil que inicia um caminho TLV.

Tipo de tag: tipo de elemento específico do contexto: disposição de números inteiros: obrigatório

kTag_WDMPathProfileId_Deprecated

Obsoleto.

Tipo de tag: tipo de elemento específico do perfil: disposição de números inteiros: obrigatório

kTag_WDMPathProfileInstance

O elemento é uma instância de perfil, que pode seguir o ID do perfil em um caminho TLV.

Um nó pode ou não ter várias instâncias de um perfil específico e, caso haja apenas um, esse elemento pode ser omitido.

Tipo de tag: tipo de elemento específico do contexto: qualquer disposição: opcional

kTag_WDMPathProfileInstance_Deprecated

Obsoleto.

Tipo de tag: Tipo de elemento específico do perfil: qualquer disposição: opcional

@171

 @171

IDs de tópicos distintos.

Há três IDs de tópicos de interesse distintos, todos formatados como "específicos do editor".

Propriedades
kAnyTopicId

Isso é reservado como um ID de tópico com caractere curinga.

kTopicIdNotSpecified

Este é um valor especial reservado para expressar um ID de tópico inválido ou com caractere curinga.

kTopicIdPublisherSpecificMask

Isso é usado como uma máscara para criar ou decompor um ID de topci.

WeaveTransportOption

 WeaveTransportOption

Opções de transporte WDM.

Estas são opções de transporte mutuamente exclusivas para WDM.

Propriedades
kTransport_TCP

O transporte subjacente é TCP.

A vinculação pode ser concluída usando o gerenciador de serviços ou diretamente a camada de mensagem.

kTransport_UDP

O transporte é exclusivamente UDP.

kTransport_WRMP

O transporte subjacente é exclusivamente UDP, mas com uma "camada de suporte a aplicativos" melhorias de confiabilidade.

Typedefs

TopicIdentifier

uint64_t TopicIdentifier

O identificador de tópico.

Identificadores de tópicos são quantidades de 64 bits com dois usos/semânticos relacionados. Em primeiro lugar, eles podem ser usados como uma abreviação convencional de um conjunto bem conhecido de caminhos, por exemplo, "as detector de fumaça Nest". Os IDs de tópicos usados dessa forma, assim como os identificadores de perfil, devem conter um código de fornecedor que impeça IDs de tópico escolhidos de forma autônoma por fornecedores diferentes de serem conflitantes, da seguinte forma:

bit 48 - 63 bit 0 - 47
ID do fornecedor Número do tópico
O segundo uso/semântica para identificadores de tópico surge nesse caso de uma assinatura dinâmica entre um cliente WDM e um editor. Nesse caso, o editor sempre deve fornecer um ID de tópico exclusivo que representa a assinatura específica e deve fazer isso independentemente de a assinatura ter sido solicitada usando um ID de tópico conhecido ou uma lista de caminhos arbitrários. os identificadores de tópico dessa forma são diferenciados por ter um código de fornecedor de 0xFFFF.

Confira também:
WeaveVendorIdentifiers.hpp

Funções

CheckTLVType

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

Verifique se um elemento TLV que está sendo lido tem o tipo TLV esperado.

Verifica um determinado tipo de TLV em relação ao tipo de elemento no cabeçalho de um leitor TLV.

Detalhes
Parâmetros
[in] aType
O TLVType a ser verificado em relação a um elemento específico
[in] aReader
Uma referência a um leitor TLV posicionado no elemento a ser verificado
Retornos
true se o TLVType do elemento e o aType forem correspondentes.
Confira também:
WeaveTLVTypes.h

CheckWDMTag

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

Verifique uma tag específica do WDM.

Compare o número de uma tag específica de WDM, de .../data-management/DMConstants.h, com a tag real no cabeçalho de um leitor TLV.

Detalhes
Parâmetros
[in] aTagNum
O número da tag a ser verificado em relação a um elemento TLV específico.
[in] aReader
Uma referência a um leitor TLV que aponta para o elemento a ser verificado.
Retornos
true iff aReader.GetTag() produz uma tag que corresponde a uma das formas de tag esperadas para o número de tag fornecido.

CloseDataListElement

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

Interrompe a leitura de um elemento da lista de dados WDM.

Esse método presume que o elemento em questão faz parte de uma lista de dados WDM e, portanto, passa kTLVType_Array paraExitContainer().

Detalhes
Parâmetros
[in,out] aReader
Um leitor TLV posicionado em um elemento de lista de dados do WDM.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de sair de um contêiner.

CloseList

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

Interrompe a leitura de um caminho ou lista de dados WDM.

Esse método pressupõe que a lista em questão é o elemento TLV superior e, portanto, passa kTLVType_Sructure para OutContainer().

Detalhes
Parâmetros
[in,out] aReader
Um leitor TLV posicionado em um caminho ou lista de dados do WDM.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de sair de um contêiner.

EncodeDeprecatedPath

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

Codifique um caminho WDM com tags descontinuadas e um ID de instância de número inteiro.

Observação: codifique um caminho usando a tag descontinuada definida pelo serviço que foi aceita pelo serviço antes da versão 2.0 do Weave. Essa versão do método usa um identificador de instância numérico. Esse método inicia um contêiner com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) e insere o ID de perfil com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_ realizadas). Em seguida, ela insere o ID da instância com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Updated). Esta é uma das versões descontinuadas para codificar um caminho e novos designs devem evitar o uso desse formato.

Detalhes
Parâmetros
[in] aWriter
Uma referência ao gravador TLV usado para gravar o caminho.
[in] aTag
Uma referência à tag TLV totalmente qualificada que se aplica a esse caminho.
[in] aProfileId
O ID do perfil no qual os elementos do caminho devem ser interpretados.
[in] aInstanceId
Uma referência ao ID da instância opcional do perfil a ser usado.
[in] aPathLen
O tamanho, possivelmente 0, da lista de elementos do caminho além do especificador de perfil inicial.
[in] ...
A lista opcional de comprimento variável de tags de caminho adicionais.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de formatar o caminho fornecido.

EncodeDeprecatedPath

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

Codifique um caminho WDM com tags descontinuadas e um ID de instância de string.

Observação: codifique um caminho usando o conjunto de tags descontinuados (consulte DMConstants.h). Essa versão do método usa uma string de ID de instância. Esse método inicia um contêiner com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) e insere o ID de perfil com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_ realizadas). Em seguida, ela insere o ID da instância com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Updated). Esta é uma das versões descontinuadas para codificar um caminho e novos designs devem evitar o uso desse formato.

Detalhes
Parâmetros
[in] aWriter
Uma referência ao gravador TLV usado para gravar o caminho.
[in] aTag
Uma referência à tag TLV totalmente qualificada que se aplica a esse caminho.
[in] aProfileId
O ID do perfil no qual os elementos do caminho devem ser interpretados.
[in] aInstanceId
A string opcional usada como um identificador de instância de perfil. Esse argumento pode ser NULL se nenhum ID de instância for especificado.
[in] aPathLen
O tamanho, possivelmente 0, da lista de elementos do caminho além do especificador de perfil inicial.
[in] ...
A lista opcional de tamanho variável de tags de caminho adicionais.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de formatar o caminho fornecido.

EncodePath

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

Codifique um caminho WDM com um ID de instância de perfil de número inteiro.

Observação:escreva um caminho TLV do tipo usado no gerenciamento de dados em que, especificamente, há uma designação de perfil colocada no início para permitir a interpretação de elementos de caminhos subsequentes. Essa versão do método usa um ID de instância de perfil com um número inteiro.

Esse método insere o ID da instância usando ContextTag(kTag_WDMPathProfileInstance), que é a versão mais recente para codificar um caminho.

Detalhes
Parâmetros
[in] aWriter
Uma referência ao gravador TLV usado para gravar o caminho.
[in] aTag
Uma referência à tag TLV totalmente qualificada que se aplica a esse caminho.
[in] aProfileId
O ID do perfil no qual os elementos do caminho devem ser interpretados.
[in] aInstanceId
Uma referência ao identificador de instância opcional do perfil a ser usado. Se nenhum ID de instância for usado, esse parâmetro deverá ter o valor kInstanceIdNotUpdated.
[in] aPathLen
O tamanho, possivelmente 0, da lista de elementos do caminho além do especificador de perfil inicial.
[in] ...
A lista opcional de comprimento variável de tags de caminho adicionais.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de formatar o caminho fornecido.

EncodePath

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

Codifique um caminho WDM com um ID de instância de matriz de bytes.

Observação:escreva um caminho TLV do tipo usado no gerenciamento de dados em que, especificamente, há uma designação de perfil colocada no início para permitir a interpretação de elementos de caminhos subsequentes. Essa versão do método usa um ID da instância do perfil de matriz de bytes junto com um comprimento.

Esse método insere o ID da instância usando ContextTag(kTag_WDMPathProfileInstance), que é a versão mais recente para codificar um caminho.

Detalhes
Parâmetros
[in] aWriter
Uma referência ao gravador TLV usado para gravar o caminho.
[in] aTag
Uma referência à tag TLV totalmente qualificada que se aplica a esse caminho.
[in] aProfileId
O ID do perfil no qual os elementos do caminho devem ser interpretados.
[in] aInstanceIdLen
O tamanho da matriz de bytes que constitui o ID da instância. Se não houver ID, esse parâmetro terá um valor de 0.
[in] aInstanceId
A matriz de bytes opcional usada como um identificador de instância de perfil. Esse argumento pode ser NULL caso nenhum ID de instância seja especificado.
[in] aPathLen
O tamanho, possivelmente 0, da lista de elementos do caminho além do especificador de perfil inicial.
[in] ...
A lista opcional de tamanho variável de tags de caminho adicionais.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de formatar o caminho fornecido.

EncodePath

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

Codifique um caminho WDM com um ID de instância de string.

Observação:escreva um caminho TLV do tipo usado no gerenciamento de dados em que, especificamente, há uma designação de perfil colocada no início para permitir a interpretação de elementos de caminhos subsequentes. Essa versão do método usa um ID de instância de perfil de string.

Esse método insere o ID da instância usando ContextTag(kTag_WDMPathProfileInstance), que é a versão mais recente para codificar um caminho.

Detalhes
Parâmetros
[in] aWriter
Uma referência ao gravador TLV usado para gravar o caminho.
[in] aTag
Uma referência à tag TLV totalmente qualificada que se aplica a esse caminho.
[in] aProfileId
O ID do perfil no qual os elementos do caminho devem ser interpretados.
[in] aInstanceId
A string opcional usada como um identificador de instância de perfil. Esse argumento pode ser NULL se nenhum ID de instância for especificado.
[in] aPathLen
O tamanho, possivelmente 0, da lista de elementos do caminho além do especificador de perfil inicial.
[in] ...
A lista opcional de tamanho variável de tags de caminho adicionais.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de formatar o caminho fornecido.

EndDataListElement

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

Termine de gravar um elemento da lista de dados.

Escreva o TLV do final de um elemento da lista de dados do WDM. Observe que isso passa automaticamente um tipo de kTLVType_Array à chamada de EndContainer(), supondo que estamos sempre fechando um item da lista.

Detalhes
Parâmetros
[in] aWriter
Uma referência a um gravador TLV para escrever o final do item.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de encerrar um contêiner.

EndEncodePath

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

EndList

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

Termine de gravar uma lista de caminhos ou dados.

Escreva o TLV do fim de um caminho ou lista de dados WDM. Além disso, finalize o texto.

Detalhes
Parâmetros
[in,out] aWriter
Uma referência a um gravador TLV para escrever o fim da lista.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de encerrar um contêiner.

EndList

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

Termine de gravar uma lista de caminhos ou dados.

Escreva o TLV do fim de um caminho ou lista de dados WDM. Além disso, finalize o texto. Nesse caso, o objeto ReferencedTLVData em que o TLV está sendo gravado é transmitido e modificado para refletir a quantidade de dados gravados.

Detalhes
Parâmetros
[in,out] aList
Uma referência ao objeto ReferenceTLVData em que a lista estava sendo gravada.
[in] aWriter
Uma referência a um gravador TLV para escrever o fim da lista.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de encerrar um contêiner.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Verificar se um ID de tópico é específico do editor.

Detalhes
Parâmetros
[in] aTopicId
um identificador de tópico para verificação
Retornos
verdadeiro se o ID do tópico for específico do editor, caso contrário será falso

OpenDataList

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

Comece a ler uma lista de dados.

Com um novo leitor e uma lista de dados, comece a ler a lista e valide as tags e os tipos encontrados inicialmente no processo. Se tudo correr bem, o leitor vai parar depois que o contêiner da lista for inserido.

Detalhes
Parâmetros
[in] aDataList
Uma lista de dados passada como referência a um objeto ReferencedTLVData. O caso de uso normal é quando a lista ainda está em um buffer após o recebimento.
[out] aReader
Uma referência a um leitor TLV usado para ler a lista de dados. Esse leitor vai ficar apontando para a esquerda logo antes do primeiro item da lista.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorne um WEAVE_ERROR que reflita uma falha ao abrir a lista de dados e/ou valide as tags e os tipos relevantes.

OpenDataListElement

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

Comece a ler um elemento da lista de dados.

Dado um leitor posicionado em um elemento de lista de dados, comece a ler o elemento e valide as tags e os tipos inicialmente encontrados no processo. Se tudo correr bem, o leitor acabará posicionado nos dados do elemento de dados, e o leitor de caminho de entrada/saída será posicionado no caminho correspondente.

Detalhes
Parâmetros
[in] aReader
Uma referência a um leitor TLV posicionado em um elemento da lista de dados.
[out] aPathReader
Uma referência a um leitor TLV a ser apontado para o componente do caminho do elemento da lista de dados.
[out] aVersion
Uma referência a um número inteiro de 64 bits a ser definido para a versão do elemento da lista de dados, se houver, ou para kVersionNotUpdated.
Retornos
WEAVE_NO_ERROR em caso de sucesso ou um WEAVE_ERROR associado à abertura e leitura do elemento da lista de dados.

OpenPathList

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

Comece a ler uma lista de caminhos.

Com um novo leitor e uma lista de caminhos, leia a lista e valide as tags e os tipos encontrados inicialmente no processo. Se tudo correr bem, o leitor vai parar depois que o contêiner da lista for inserido.

Detalhes
Parâmetros
[in] aPathList
Uma lista de caminhos passada como referência a um objeto ReferencedTLVData. O caso de uso normal é quando a lista ainda está em um buffer após o recebimento.
[out] aReader
Uma referência a um leitor TLV usado para ler a lista de caminhos. Esse leitor vai ficar apontando para a esquerda antes do primeiro caminho na lista.
Retornos
WEAVE_NO_ERROR em caso de sucesso; caso contrário, um WEAVE_ERROR que reflete uma falha ao abrir a lista de caminhos e/ou validar as tags e os tipos relevantes.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Gere um ID do tópico específico do editor do zero.

Detalhes
Retornos
o novo identificador de tópico.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

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

Comece a escrever uma lista de dados.

Escreva o TLV para o início de uma lista de dados WDM. Por exemplo: como argumento principal de um UpdateRequest().

Detalhes
Parâmetros
[in] aWriter
Uma referência a um gravador TLV com que começar a escrever.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de iniciar um contêiner.

StartDataList

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

Comece a gravar uma lista de dados em um determinado objeto ReferencedTLVData.

Escreva o TLV (em inglês) do início de uma lista de dados WDM. Nesse caso, supomos que estamos gravando a lista de dados em uma estrutura de dados TLV referenciada. Presume-se que o gravador não seja inicializado ou, em qualquer caso, será inicializado para apontar para o objeto determinado.

Detalhes
Parâmetros
[out] aDataList
Uma referência a um objeto ReferencedTLVData que será o alvo do gravador e, por fim, conterá os dados de interesse.
[in] aWriter
Uma referência a um gravador TLV com que começar a escrever.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de iniciar um contêiner.

StartDataListElement

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

Comece a gravar um elemento da lista de dados.

Escreva o TLV do início de um elemento da lista de dados WDM.

Detalhes
Parâmetros
[in] aWriter
Uma referência a um gravador TLV com que começar a escrever.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de iniciar um contêiner.

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
)

Comece a escrever uma lista de caminhos.

Escreva o TLV do início de uma lista de caminhos WDM. Por exemplo: como argumento principal de uma ViewRequest().

Detalhes
Parâmetros
[in] aWriter
Uma referência a um gravador TLV com que começar a escrever.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma incapacidade de iniciar um contêiner.

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
)

Valide se um elemento TLV que está sendo lido tem o tipo TLV esperado.

Verifica um determinado tipo TLV em relação ao tipo de elemento no cabeçalho de um leitor TLV e retorna um erro se não houver correspondência.

Detalhes
Parâmetros
[in] aType
O TLVType a ser validado em relação a um elemento específico.
[in] aReader
Uma referência a um leitor TLV posicionado no elemento a ser validado.
Retornos
WEAVE_NO_ERROR se houver correspondência ou WEAVE_ERROR_WRONG_TLV_TYPE se não houver.
Confira também:
WeaveTLVTypes.h

ValidateWDMTag

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

Confira se um elemento TLV que está sendo lido tem a tag WDM esperada.

Detalhes
Parâmetros
[in] aTagNum
O número da tag de 32 bits da tag WDM esperada.
[in] aReader
Um leitor TLV posicionado no elemento a ser validado.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, WEAVE_ERROR_INVALID_TLV_TAG se a tag não corresponder ao número da tag fornecido quando interpretada como WDM.