nl::Weave::Profiles::DataManagement_Legacy

Este espacio de nombres incluye todas las interfaces de Weave para el perfil de administración de datos de Weave (WDM) que están por dar de baja.

Resumen

Enumeraciones

@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
Tamaños de tablas y grupos 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
Los tipos de mensaje de perfil de WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
Constantes varias 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 estado específicos de 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
etiquetas de protocolo de administración de datos.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
IDs de temas distinguidos.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
Opciones de transporte de WDM

Typedefs

TopicIdentifier typedef
uint64_t
Es el identificador del tema.

remotas

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Comprueba que un elemento TLV que se lee tenga el tipo TLV esperado.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Verifica una etiqueta específica de WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Deja de leer un elemento de la lista de datos de WDM.
CloseList(nl::Weave::TLV::TLVReader & aReader)
Deja de leer una ruta de acceso de WDM o una lista de datos.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Codifica una ruta de acceso de WDM con etiquetas obsoletas y un ID de instancia de número entero.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Codifica una ruta de acceso de WDM con etiquetas obsoletas y un ID de instancia de cadena.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Codifica una ruta de acceso de WDM con un ID de instancia de perfil de número entero.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
Codifica una ruta de acceso de WDM con un ID de instancia de array de bytes.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Codifica una ruta de acceso de WDM con un ID de instancia de cadena.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Termina de escribir un elemento de lista de datos.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
Termina de escribir una lista de rutas de acceso o una lista de datos.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Termina de escribir una lista de rutas de acceso o una lista de datos.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Verifica si el ID de un tema es específico del editor.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
Comienza a leer una lista de datos.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Comienza a leer un elemento de la lista de datos.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
Comienza a leer una lista de rutas.
PublisherSpecificTopicId(void)
Genera un ID de tema específico del editor desde cero.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
Comienza a escribir una lista de datos.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
Comienza a escribir una lista de datos en un objeto ReferencedTLVData determinado.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Comienza a escribir un elemento de lista de datos.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
Comienza a escribir una lista de rutas de acceso.
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)
Valida que un elemento TLV que se lee tenga el tipo TLV esperado.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Valida que un elemento TLV que se lee tenga la etiqueta WDM esperada.

Clases

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

La clase Binding administra el estado de las comunicaciones en nombre de una entidad de aplicación mediante Weave.

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

Una clase abstracta que contiene las definiciones de los métodos de confirmación e indicación que requiere el cliente de WDM.

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

Una clase auxiliar empleada cuando se desea la compatibilidad con suscripciones y notificaciones en un cliente WDM.

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

Es la clase base abstracta para clientes de WDM específicos de una aplicación.

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

Es la clase base abstracta para editores de WDM específicos de la aplicación.

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

La clase auxiliar abstracta ProfileDatabase.

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

La clase del motor del protocolo WDM.

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

Una clase abstracta que contiene las definiciones de los métodos de confirmación y notificación que requiere el publicador de WDM.

Enumeraciones

@103

 @103
Propiedades
kStatus_CancelSuccess

Este código de estado heredado significa que una suscripción se canceló correctamente.

Este código de estado indica que una suscripción se canceló correctamente.

kStatus_IllegalReadRequest

Este código de estado heredado significa que el nodo que realiza una solicitud para leer un elemento de datos en particular no tiene permiso para hacerlo.

Este código de estado significa que el nodo que realiza una solicitud para leer un elemento de datos en particular no tiene permiso para hacerlo.

kStatus_IllegalWriteRequest

Este código de estado heredado significa que el nodo que realiza una solicitud para escribir un elemento de datos en particular no tiene permiso para hacerlo.

Este código de estado significa que el nodo que realiza una solicitud para escribir un elemento de datos en particular no tiene permiso para hacerlo.

kStatus_InvalidPath

Este código de estado heredado significa que una ruta de la lista de rutas de un marco de solicitud de vista o actualización no coincidió con el esquema residente de nodo de la persona que responde.

Este código de estado significa que una ruta de la lista de rutas de un marco de solicitud de vista o actualización no coincidió con el esquema residente de nodos del respondedor.

kStatus_InvalidVersion

Este código de estado heredado significa que la versión de los datos incluidos en una solicitud de actualización no coincide con la versión más reciente del publicador, por lo que no se pudo aplicar la actualización.

Este código de estado significa que la versión de los datos incluidos en una solicitud de actualización no coincide con la versión más reciente del publicador, por lo que no se pudo aplicar la actualización.

kStatus_UnknownTopic

Este código de estado heredado significa que el identificador de tema proporcionado en una solicitud o notificación de cancelación no coincide con ninguna suscripción existente en el nodo receptor.

Este código de estado significa que el identificador de tema proporcionado en una solicitud o notificación de cancelación no coincide con ninguna suscripción existente en el nodo receptor.

kStatus_UnsupportedSubscriptionMode

Este código de estado heredado significa que el dispositivo receptor no admite el modo de suscripción solicitado.

Este código de estado significa que el dispositivo receptor no admite el modo de suscripción solicitado.

@166

 @166

Tamaños de tablas y grupos de WDM.

WDM define varios grupos y tablas que se necesitan para su operación de la siguiente manera.

Grupos de transacciones de cliente:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Grupos de transacciones del publicador:

  • kNotifyPoolSize

Tablas del motor de protocolo:

  • kTransactionTableSize
  • kBindingTableSize

Tablas relacionadas con las suscripciones:

  • kNotifierTableSize (solo cliente)
  • kSubscriptionMgrTableSize (solo para publicadores)

Ten en cuenta que estas son cantidades configurables y que los valores por plataforma aparecen en el WeaveConfig.h asociado.

Propiedades
kBindingTableSize

Este es el tamaño predeterminado de la tabla de vinculación en el motor del protocolo WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE.

kCancelSubscriptionPoolSize

Este es el tamaño predeterminado del grupo de transacciones de solicitud de cancelación de suscripción para un cliente WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE.

kNotifierTableSize

Este es el tamaño predeterminado de la tabla de notificaciones para los clientes WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE.

kNotifyPoolSize

Este es el tamaño predeterminado del grupo de transacciones de la solicitud de notificación para un editor de WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE.

kSubscribePoolSize

Este es el tamaño predeterminado del grupo de transacciones de la solicitud de suscripción para un cliente WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

Este es el tamaño predeterminado de la tabla de suscripción para los editores de WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE.

kTransactionTableSize

Este es el tamaño predeterminado de la tabla de transacciones en el motor del protocolo WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE.

kUpdatePoolSize

Este es el tamaño predeterminado del grupo de transacciones de la solicitud de actualización para un cliente WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE.

kViewPoolSize

Este es el tamaño predeterminado del grupo de transacciones de la solicitud de vista para un cliente WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

Los tipos de mensaje de perfil de WDM.

Estos valores se mencionan en la especificación de administración de datos.

¡NOTA! Desde el primer trimestre de 2015, los tipos de mensajes utilizados en versiones anteriores de WDM dejaron de estar disponibles y se definieron nuevos tipos de mensajes, lo que refleja un cambio suficiente con los detalles de empaquetado y análisis anteriores para justificar una interrupción clara.

Propiedades
kMsgType_CancelSubscriptionRequest

Mensaje de solicitud de cancelación de suscripción.

kMsgType_CancelSubscriptionRequest_Deprecated

en desuso

kMsgType_NotifyRequest

Notificar mensaje de solicitud.

kMsgType_NotifyRequest_Deprecated

en desuso

kMsgType_SubscribeRequest

Mensaje de solicitud de suscripción.

kMsgType_SubscribeRequest_Deprecated

en desuso

kMsgType_SubscribeResponse

Mensaje de respuesta de suscripción.

kMsgType_SubscribeResponse_Deprecated

en desuso

kMsgType_UpdateRequest

Mensaje de solicitud de actualización.

kMsgType_UpdateRequest_Deprecated

en desuso

kMsgType_ViewRequest

Ver mensaje de solicitud.

kMsgType_ViewRequest_Deprecated

en desuso

kMsgType_ViewResponse

Ver mensaje de respuesta.

kMsgType_ViewResponse_Deprecated

en desuso

@168

 @168

Constantes varias específicas de WDM.

Propiedades
kDefaultBindingTableIndex

El índice de la vinculación predeterminada en una tabla de vinculación del motor de protocolos con más de una entrada.

kInstanceIdNotSpecified

En las llamadas que requieren una especificación de instancia de perfil, se indica “ninguno”.

En la mayoría de los casos, esto significa que solo una instancia del perfil está presente en la entidad en cuestión.

kResponseTimeoutNotSpecified

En los métodos que solicitan una transacción, indica que el emisor rechazó especificar un tiempo de espera.

Por lo general, esto significa que se debe usar un valor predeterminado.

kTransactionIdNotSpecified

En los métodos y las estructuras de datos que toman un ID de transacción, indica "ninguno" o un valor de comodín.

kVersionNotSpecified

En las llamadas que requieren la especificación de una versión de datos, indica “ninguna versión en particular”.

kWeaveTLVControlByteLen

Es la longitud de un byte de control de TLV, que se usa en métodos de compatibilidad que codifican estructuras WDM en TLV.

kWeaveTLVTagLen

La longitud estándar en bytes de una etiqueta TLV completamente calificada, que se usa en métodos de compatibilidad que codifican estructuras WDM en TLV.

@169

 @169

Códigos de estado específicos de WDM

Propiedades
kStatus_CancelSuccess

Este código de estado heredado significa que una suscripción se canceló correctamente.

Este código de estado indica que una suscripción se canceló correctamente.

kStatus_IllegalReadRequest

Este código de estado heredado significa que el nodo que realiza una solicitud para leer un elemento de datos en particular no tiene permiso para hacerlo.

Este código de estado significa que el nodo que realiza una solicitud para leer un elemento de datos en particular no tiene permiso para hacerlo.

kStatus_IllegalWriteRequest

Este código de estado heredado significa que el nodo que realiza una solicitud para escribir un elemento de datos en particular no tiene permiso para hacerlo.

Este código de estado significa que el nodo que realiza una solicitud para escribir un elemento de datos en particular no tiene permiso para hacerlo.

kStatus_InvalidPath

Este código de estado heredado significa que una ruta de la lista de rutas de un marco de solicitud de vista o actualización no coincidió con el esquema residente de nodo de la persona que responde.

Este código de estado significa que una ruta de la lista de rutas de un marco de solicitud de vista o actualización no coincidió con el esquema residente de nodos del respondedor.

kStatus_InvalidVersion

Este código de estado heredado significa que la versión de los datos incluidos en una solicitud de actualización no coincide con la versión más reciente del publicador, por lo que no se pudo aplicar la actualización.

Este código de estado significa que la versión de los datos incluidos en una solicitud de actualización no coincide con la versión más reciente del publicador, por lo que no se pudo aplicar la actualización.

kStatus_UnknownTopic

Este código de estado heredado significa que el identificador de tema proporcionado en una solicitud o notificación de cancelación no coincide con ninguna suscripción existente en el nodo receptor.

Este código de estado significa que el identificador de tema proporcionado en una solicitud o notificación de cancelación no coincide con ninguna suscripción existente en el nodo receptor.

kStatus_UnsupportedSubscriptionMode

Este código de estado heredado significa que el dispositivo receptor no admite el modo de suscripción solicitado.

Este código de estado significa que el dispositivo receptor no admite el modo de suscripción solicitado.

@170

 @170

etiquetas de protocolo de administración de datos.

El protocolo de administración de datos define la cantidad de etiquetas que se usarán en la representación de TLV de los datos de perfil.

Como siempre, hay problemas de compatibilidad entre el nuevo WDM y el antiguo. Antes, todas estas etiquetas se aplicaban como específicas para el perfil, lo que era una pérdida de espacio. Actualmente, usamos etiquetas de contexto siempre que sea posible, pero necesitamos conservar las antiguas (y tener un mecanismo para codificar rutas con ellas) cuando corresponda.

La etiqueta kTag_WDMDataListElementData no se usaba en versiones anteriores y el código la omitió por completo, por lo que no es necesario proporcionar una versión obsoleta.

Propiedades
kTag_WDMDataList

El elemento es una lista de estructuras que contienen una ruta de acceso, una versión opcional y elementos de datos.

Tipo de etiqueta: Tipo de elemento específico del perfil: Disposición del array: Nivel superior

kTag_WDMDataListElementData

El elemento representa los datos a los que apunta una ruta determinada y que tienen la versión determinada.

Tipo de etiqueta: Tipo de elemento específico del contexto: Cualquier disposición: Obligatorio

kTag_WDMDataListElementData_Deprecated

Ya no está disponible.

Tipo de etiqueta: Tipo de elemento específico del contexto: Cualquier disposición: Obligatorio

kTag_WDMDataListElementPath

El elemento es el componente de la ruta de acceso de un elemento de la lista de datos.

Tipo de etiqueta: Tipo de elemento específico del contexto: Disposición de la ruta: Obligatorio

kTag_WDMDataListElementPath_Deprecated

Ya no está disponible.

Tipo de etiqueta: Tipo de elemento específico del perfil: Disposición de la ruta: obligatoria

kTag_WDMDataListElementVersion

El elemento es el componente de la versión de un elemento de la lista de datos.

Tipo de etiqueta: Tipo de elemento específico del contexto: Disposición de número entero: Obligatorio

kTag_WDMDataListElementVersion_Deprecated

Ya no está disponible.

Tipo de etiqueta: Tipo de elemento específico del perfil: Disposición de número entero: Obligatorio

kTag_WDMPathArrayIndexSelector

El elemento de la ruta de acceso corresponde a un array en el esquema y el elemento entero contenido debe usarse como índice en ese array.

Tipo de etiqueta: Tipo de elemento específico del perfil: Disposición de número entero: Opcional

kTag_WDMPathArrayValueSelector

El elemento de la ruta de acceso corresponde a un array en el esquema y el elemento encapsulado debe usarse como selector de registros.

Tipo de etiqueta: Tipo de elemento específico del perfil: Disposición de la estructura: Opcional

kTag_WDMPathList

El elemento es una lista de rutas de acceso de TLV.

Tipo de etiqueta: Tipo de elemento específico del perfil: Disposición del array: Nivel superior

kTag_WDMPathProfile

El elemento es una estructura que se utiliza para iniciar una ruta de acceso y contiene la información de perfil a la luz de la cual se interpretarán las etiquetas de la ruta.

Tipo de etiqueta: Tipo de elemento específico del perfil: Disposición de la estructura: Obligatorio

kTag_WDMPathProfileId

El elemento es un componente de ID de perfil del elemento de perfil de la ruta de acceso que inicia una ruta de acceso TLV.

Tipo de etiqueta: Tipo de elemento específico del contexto: Disposición de número entero: Obligatorio

kTag_WDMPathProfileId_Deprecated

Ya no está disponible.

Tipo de etiqueta: Tipo de elemento específico del perfil: Disposición de número entero: Obligatorio

kTag_WDMPathProfileInstance

El elemento es una instancia de perfil, que puede seguir el ID de perfil en una ruta de acceso de TLV.

Ten en cuenta que un nodo puede o no tener varias instancias de un perfil en particular y, en el caso de que haya solo uno, se puede omitir este elemento.

Tipo de etiqueta: Tipo de elemento específico del contexto: Cualquier disposición: Opcional

kTag_WDMPathProfileInstance_Deprecated

Ya no está disponible.

Tipo de etiqueta: Tipo de elemento específico del perfil: Cualquier disposición: Opcional

@171

 @171

IDs de temas distinguidos.

Existen tres IDs de temas de interés distinguidos, los tres tienen el formato "específico del publicador".

Propiedades
kAnyTopicId

Se reserva como un ID de tema de comodín.

kTopicIdNotSpecified

Es un valor especial reservado para expresar un ID de tema no válido o como comodín.

kTopicIdPublisherSpecificMask

Se usa como máscara para crear o descomponer un ID de topci.

WeaveTransportOption

 WeaveTransportOption

Opciones de transporte de WDM

Estas son opciones de transporte mutuamente excluyentes para WDM.

Propiedades
kTransport_TCP

El transporte subyacente es TCP.

La vinculación se puede completar con el administrador de servicios o directamente con la capa de mensaje.

kTransport_UDP

El transporte subyacente es exclusivamente UDP.

kTransport_WRMP

El transporte subyacente es exclusivamente UDP, pero con mejoras de confiabilidad de la “capa de compatibilidad de la aplicación”.

Typedefs

TopicIdentifier

uint64_t TopicIdentifier

Es el identificador del tema.

Los identificadores de temas son cantidades de 64 bits con dos usos o semánticas relacionados. En primer lugar, se pueden usar como abreviatura convencional para un conjunto conocido de rutas de acceso, p.ej., "el detector de humo Nest". Los ID de tema que se usan de esta manera, al igual que los identificadores de perfil, deben contener un código de proveedor que evite que los ID de tema elegidos de forma autónoma por distintos proveedores sean contradictorios, de la siguiente manera:

bits 48-63 bit 0 - 47
ID del proveedor Número del tema
El segundo uso o semántica de los identificadores de tema surge en el caso de una suscripción dinámica entre un cliente WDM y un publicador. En este caso, el publicador siempre debe proporcionar un ID de tema único que represente la suscripción específica y debe hacer esto independientemente de que la suscripción se haya solicitado con un ID de tema conocido o una lista de rutas arbitraria. Los identificadores de temas de este formato se distinguen por tener un código de proveedor de 0xFFFF.

Consulta también:
WeaveVendorIdentifiers.hpp

remotas

CheckTLVType

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

Comprueba que un elemento TLV que se lee tenga el tipo TLV esperado.

Verifica un tipo de TLV determinado con el tipo de elemento al encabezado de un lector de TLV.

Detalles
Parámetros
[in] aType
El TLVType que se debe verificar con un elemento específico
[in] aReader
Una referencia a un lector de TLV ubicado en el elemento que se debe verificar
Qué muestra
true si el TLVType del elemento y aType coinciden.
Consulta también:
WeaveTLVTypes.h

CheckWDMTag

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

Verifica una etiqueta específica de WDM.

Compara el número de una etiqueta específica de WDM, de .../data-management/DMConstants.h, con la etiqueta real que aparece en el encabezado de un lector TLV.

Detalles
Parámetros
[in] aTagNum
El número de etiqueta que se verificará con un elemento TLV específico.
[in] aReader
Es una referencia a un lector de TLV que apunta al elemento que se verificará.
Qué muestra
true si aReader.GetTag() produce una etiqueta que coincide con uno de los formularios de etiqueta esperados para el número de etiqueta especificado.

CloseDataListElement

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

Deja de leer un elemento de la lista de datos de WDM.

Este método supone que el elemento en cuestión forma parte de una lista de datos WDM y, por lo tanto, pasa kTLVType_Array a ExitContainer().

Detalles
Parámetros
[in,out] aReader
Un lector de TLV posicionado en un elemento de lista de datos de WDM.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de salir de un contenedor.

CloseList

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

Deja de leer una ruta de acceso de WDM o una lista de datos.

Este método supone que la lista en cuestión es el elemento TLV superior y, por lo tanto, pasa kTLVType_Sructure a ExitContainer().

Detalles
Parámetros
[in,out] aReader
Un lector de TLV posicionado en una ruta de acceso de WDM o una lista de datos.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de salir de un contenedor.

EncodeDeprecatedPath

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

Codifica una ruta de acceso de WDM con etiquetas obsoletas y un ID de instancia de número entero.

Nota: Codifica una ruta de acceso con el conjunto de etiquetas obsoleto que acepta el servicio antes de la versión 2.0 de Weave. Esta versión del método toma un identificador numérico de instancia. Este método inicia un contenedor con ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) y, luego, inserta el ID de perfil con ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Luego, inserta el ID de instancia con ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Esta es una de las versiones obsoletas para codificar una ruta, y en los nuevos diseños se debe evitar el uso de este formato.

Detalles
Parámetros
[in] aWriter
Es una referencia al escritor TLV que se usa para escribir la ruta de acceso.
[in] aTag
Una referencia a la etiqueta TLV completamente calificada que se aplica a esta ruta de acceso.
[in] aProfileId
El ID de perfil en el que se interpretarán los elementos de la ruta de acceso.
[in] aInstanceId
Una referencia al ID de instancia opcional del perfil que se usará.
[in] aPathLen
La longitud, posiblemente 0, de la lista de elementos de ruta de acceso más allá del especificador de perfil inicial.
[in] ...
La lista opcional de longitud variable de etiquetas de ruta de acceso adicionales.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de dar formato a la ruta de acceso proporcionada.

EncodeDeprecatedPath

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

Codifica una ruta de acceso de WDM con etiquetas obsoletas y un ID de instancia de cadena.

Nota: Codifica una ruta con el conjunto de etiquetas obsoleto (consulta DMConstants.h). Esta versión del método toma una string de ID de instancia. Este método inicia un contenedor con ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) y, luego, inserta el ID de perfil con ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Luego, inserta el ID de instancia con ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Esta es una de las versiones obsoletas para codificar una ruta, y en los nuevos diseños se debe evitar el uso de este formato.

Detalles
Parámetros
[in] aWriter
Es una referencia al escritor TLV que se usa para escribir la ruta de acceso.
[in] aTag
Una referencia a la etiqueta TLV completamente calificada que se aplica a esta ruta de acceso.
[in] aProfileId
El ID de perfil en el que se interpretarán los elementos de la ruta de acceso.
[in] aInstanceId
La string opcional utilizada como identificador de instancia de perfil. Este argumento puede tener un valor NULO si no se especifica un ID de instancia.
[in] aPathLen
La longitud, posiblemente 0, de la lista de elementos de ruta de acceso más allá del especificador de perfil inicial.
[in] ...
La lista opcional de longitud variable de etiquetas de ruta de acceso adicionales.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de dar formato a la ruta de acceso proporcionada.

EncodePath

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

Codifica una ruta de acceso de WDM con un ID de instancia de perfil de número entero.

Nota: Escribe una ruta de acceso de TLV del tipo usado en la administración de datos donde, en particular, haya una designación de perfil al principio para permitir la interpretación de los elementos de ruta de acceso posteriores. Esta versión del método toma un ID de instancia de perfil de número entero.

Este método inserta el ID de instancia con ContextTag(kTag_WDMPathProfileInstance), que es la última versión para codificar una ruta de acceso.

Detalles
Parámetros
[in] aWriter
Es una referencia al escritor TLV que se usa para escribir la ruta de acceso.
[in] aTag
Una referencia a la etiqueta TLV completamente calificada que se aplica a esta ruta de acceso.
[in] aProfileId
El ID de perfil en el que se interpretarán los elementos de la ruta de acceso.
[in] aInstanceId
Una referencia al identificador de instancia opcional del perfil que se usará. Si no se debe usar un ID de instancia, este parámetro debe tener el valor kInstanceIdNotspecified.
[in] aPathLen
La longitud, posiblemente 0, de la lista de elementos de ruta de acceso más allá del especificador de perfil inicial.
[in] ...
La lista opcional de longitud variable de etiquetas de ruta de acceso adicionales.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de dar formato a la ruta de acceso proporcionada.

EncodePath

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

Codifica una ruta de acceso de WDM con un ID de instancia de array de bytes.

Nota: Escribe una ruta de acceso de TLV del tipo usado en la administración de datos donde, en particular, haya una designación de perfil al principio para permitir la interpretación de los elementos de ruta de acceso posteriores. Esta versión del método toma un ID de instancia de perfil de array de bytes junto con una longitud.

Este método inserta el ID de instancia con ContextTag(kTag_WDMPathProfileInstance), que es la última versión para codificar una ruta de acceso.

Detalles
Parámetros
[in] aWriter
Es una referencia al escritor TLV que se usa para escribir la ruta de acceso.
[in] aTag
Una referencia a la etiqueta TLV completamente calificada que se aplica a esta ruta de acceso.
[in] aProfileId
El ID de perfil en el que se interpretarán los elementos de la ruta de acceso.
[in] aInstanceIdLen
La longitud del array de bytes que constituye el ID de la instancia. Si no hay un ID, este parámetro deberá tener un valor de 0.
[in] aInstanceId
El array de bytes opcional utilizado como identificador de instancia de perfil. Este argumento puede ser NULL en caso de que no se especifique un ID de instancia.
[in] aPathLen
La longitud, posiblemente 0, de la lista de elementos de ruta de acceso más allá del especificador de perfil inicial.
[in] ...
La lista opcional de longitud variable de etiquetas de ruta de acceso adicionales.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de dar formato a la ruta de acceso proporcionada.

EncodePath

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

Codifica una ruta de acceso de WDM con un ID de instancia de cadena.

Nota: Escribe una ruta de acceso de TLV del tipo usado en la administración de datos donde, en particular, haya una designación de perfil al principio para permitir la interpretación de los elementos de ruta de acceso posteriores. Esta versión del método toma un ID de instancia de perfil de string.

Este método inserta el ID de instancia con ContextTag(kTag_WDMPathProfileInstance), que es la última versión para codificar una ruta de acceso.

Detalles
Parámetros
[in] aWriter
Es una referencia al escritor TLV que se usa para escribir la ruta de acceso.
[in] aTag
Una referencia a la etiqueta TLV completamente calificada que se aplica a esta ruta de acceso.
[in] aProfileId
El ID de perfil en el que se interpretarán los elementos de la ruta de acceso.
[in] aInstanceId
La string opcional utilizada como identificador de instancia de perfil. Este argumento puede tener un valor NULO si no se especifica un ID de instancia.
[in] aPathLen
La longitud, posiblemente 0, de la lista de elementos de ruta de acceso más allá del especificador de perfil inicial.
[in] ...
La lista opcional de longitud variable de etiquetas de ruta de acceso adicionales.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de dar formato a la ruta de acceso proporcionada.

EndDataListElement

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

Termina de escribir un elemento de lista de datos.

Escribe el TLV para el final de un elemento de lista de datos de WDM. Ten en cuenta que esto pasa automáticamente un tipo de kTLVType_Array a la llamada EndContainer(), suponiendo que siempre estamos cerrando un elemento de la lista.

Detalles
Parámetros
[in] aWriter
Es una referencia a un escritor TLV con el que se escribe el final del elemento.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de finalizar un contenedor.

EndEncodePath

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

EndList

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

Termina de escribir una lista de rutas de acceso o una lista de datos.

Escribe el TLV para el final de una ruta de acceso de WDM o una lista de datos. Por último, debes dar por terminado el tema del escritor.

Detalles
Parámetros
[in,out] aWriter
Es una referencia a un escritor TLV con el que se escribe el final de la lista.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de finalizar un contenedor.

EndList

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

Termina de escribir una lista de rutas de acceso o una lista de datos.

Escribe el TLV para el final de una ruta de acceso de WDM o una lista de datos. Por último, debes dar por terminado el tema del escritor. En este caso, el objeto ReferencedTLVData en el que se escribe el TLV se pasa y se modifica para reflejar la cantidad de datos escritos.

Detalles
Parámetros
[in,out] aList
Una referencia al objeto ReferenceTLVData en el que se escribe la lista.
[in] aWriter
Es una referencia a un escritor TLV con el que se escribe el final de la lista.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de finalizar un contenedor.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Verifica si el ID de un tema es específico del editor.

Detalles
Parámetros
[in] aTopicId
un identificador de tema o verificar
Qué muestra
true si el ID del tema es específico de un editor, de lo contrario, false

OpenDataList

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

Comienza a leer una lista de datos.

Con un lector nuevo y una lista de datos, comienza a leerla y valida las etiquetas y los tipos que se encuentran inicialmente en el proceso. Si todo resulta bien, el lector se detiene después de ingresar el contenedor de la lista.

Detalles
Parámetros
[in] aDataList
Una lista de datos que se pasa como referencia a un objeto ReferencedTLVData. El caso de uso normal será cuando la lista todavía esté en un búfer después de la recepción.
[out] aReader
Es una referencia a un lector TLV que se usa para leer la lista de datos. Este lector se mantendrá justo antes del primer elemento de la lista.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja un error para abrir la lista de datos o validar las etiquetas y los tipos relevantes.

OpenDataListElement

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

Comienza a leer un elemento de la lista de datos.

Dado que un lector se encuentra en un elemento de lista de datos, comienza a leer el elemento y valida las etiquetas y los tipos que se encuentran inicialmente en el proceso. Si todo resulta bien, el lector se posiciona en los datos del elemento de datos y el lector de rutas de entrada y salida se posiciona en la ruta de acceso correspondiente.

Detalles
Parámetros
[in] aReader
Es una referencia a un lector de TLV posicionado en un elemento de lista de datos.
[out] aPathReader
Es una referencia a un lector de TLV para apuntar al componente de ruta de acceso del elemento de lista de datos.
[out] aVersion
Es una referencia a un número entero de 64 bits que se establecerá en la versión del elemento de la lista de datos si hay uno, o bien en kVersionNotspecified.
Qué muestra
WEAVE_NO_ERROR si la operación es exitosa o, en caso contrario, es un WEAVE_ERROR asociado con la apertura y la lectura del elemento de la lista de datos.

OpenPathList

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

Comienza a leer una lista de rutas.

Con un lector nuevo y una lista de rutas de acceso, comienza a leer la lista y valida las etiquetas y los tipos que se encuentran inicialmente en el proceso. Si todo resulta bien, el lector se detiene después de ingresar el contenedor de la lista.

Detalles
Parámetros
[in] aPathList
Una lista de rutas de acceso pasada como referencia a un objeto ReferencedTLVData. El caso de uso normal será cuando la lista todavía esté en un búfer después de la recepción.
[out] aReader
Es una referencia a un lector TLV que se usa para leer la lista de rutas de acceso. Este lector se mantendrá justo antes de la primera ruta de acceso de la lista.
Qué muestra
WEAVE_NO_ERROR si se realiza de forma correcta; de lo contrario, un WEAVE_ERROR refleja una falla en la que se abre la lista de rutas de acceso o se validan las etiquetas y los tipos relevantes.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Genera un ID de tema específico del editor desde cero.

Detalles
Qué muestra
el nuevo identificador de tema.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

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

Comienza a escribir una lista de datos.

Escribe el TLV para el comienzo de una lista de datos WDM, p.ej., como el argumento principal de una UpdateRequest().

Detalles
Parámetros
[in] aWriter
Es una referencia a un escritor TLV con el que puedes comenzar a escribir.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de iniciar un contenedor.

StartDataList

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

Comienza a escribir una lista de datos en un objeto ReferencedTLVData determinado.

Escribe el TLV para el comienzo de una lista de datos de WDM. En este caso, suponemos que escribimos la lista de datos en una estructura de datos TLV a la que se hace referencia. Se supone que el escritor no está inicializado o, en cualquier caso, se inicializará para apuntar al objeto dado.

Detalles
Parámetros
[out] aDataList
Es una referencia a un objeto ReferencedTLVData que será el objetivo del escritor y, finalmente, contendrá los datos de interés.
[in] aWriter
Es una referencia a un escritor TLV con el que puedes comenzar a escribir.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de iniciar un contenedor.

StartDataListElement

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

Comienza a escribir un elemento de lista de datos.

Escribe el TLV para el comienzo de un elemento de lista de datos de WDM.

Detalles
Parámetros
[in] aWriter
Es una referencia a un escritor TLV con el que puedes comenzar a escribir.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de iniciar un contenedor.

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
)

Comienza a escribir una lista de rutas de acceso.

Escribe el TLV para el comienzo de una lista de rutas de acceso de WDM, p.ej., como el argumento principal de una ViewRequest().

Detalles
Parámetros
[in] aWriter
Es una referencia a un escritor TLV con el que puedes comenzar a escribir.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad de iniciar un contenedor.

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
)

Valida que un elemento TLV que se lee tenga el tipo TLV esperado.

Verifica un tipo TLV determinado con el tipo de elemento al encabezado de un lector TLV y muestra un error si no hay coincidencia.

Detalles
Parámetros
[in] aType
El TLVType que se validará con un elemento específico.
[in] aReader
Es una referencia a un lector de TLV ubicado en el elemento que se validará.
Qué muestra
WEAVE_NO_ERROR si hay una coincidencia o WEAVE_ERROR_WRONG_TLV_TYPE si no es así.
Consulta también:
WeaveTLVTypes.h

ValidateWDMTag

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

Valida que un elemento TLV que se lee tenga la etiqueta WDM esperada.

Detalles
Parámetros
[in] aTagNum
El número de etiqueta de 32 bits de la etiqueta WDM esperada.
[in] aReader
Un lector de TLV posicionado en el elemento que se validará.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra WEAVE_ERROR_INVALID_TLV_TAG si la etiqueta no coincide con el número de etiqueta especificado cuando se interpreta como una etiqueta WDM.