nl::Weave::Profiles::DataManagement_Legacy

Este espacio de nombres incluye todas las interfaces dentro de Weave para el perfil de Weave Data Management (WDM) que están a punto de darse 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
Tipos de mensajes del perfil de WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
Varias 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 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.

Funciones

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Comprueba que un elemento TLV que se está leyendo tenga el tipo de 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 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 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 WDM con un ID de instancia de cadena.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Termina de escribir un elemento de la 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 de datos.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Termina de escribir una lista de rutas de acceso o de datos.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Verifica si el ID de un tema es específico para un publicador.
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 de acceso.
PublisherSpecificTopicId(void)
Genera un ID de tema específico para el 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 específico.
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 de TLV esperado.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Valida que un elemento TLV que se está leyendo tenga la etiqueta de WDM esperada.

Clases

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

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

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

Una clase abstracta que contiene las definiciones del método de confirmación y de indicación que requiere el cliente de WDM.

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

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

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

Clase básica abstracta para clientes de WDM específicos de la aplicación.

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

La clase básica 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 de WDM.

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

Una clase abstracta que contiene definiciones del método de confirmación y notificación que requiere el editor de WDM.

Enumeraciones

@103

 @103
Propiedades
kStatus_CancelSuccess

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

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

kStatus_IllegalReadRequest

Este código de estado heredado significa que el nodo que realiza una solicitud para leer un elemento de datos específico 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 específico 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 del 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 del nodo de la persona que responde.

kStatus_InvalidVersion

Este código de estado heredado significa que la versión de los datos incluidos en una solicitud de actualización no coincidió con la versión más reciente del publicador y, por lo tanto, 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 coincidió con la versión más reciente del publicador y, por lo tanto, 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 clientes:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Grupos de transacciones del publicador:

  • kNotifyPoolSize

Tablas del motor de protocolos:

  • kTransactionTableSize
  • kBindingTableSize

Tablas relacionadas con las suscripciones:

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

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

Propiedades
kBindingTableSize

Este es el tamaño predeterminado de la tabla de vinculación en el motor de protocolo de 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 de 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 notificación 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 solicitud de notificación de un publicador 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 solicitud de suscripción para un cliente de WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

Este es el tamaño predeterminado de la tabla de suscripciones 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 de protocolo de 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 solicitud de actualización para un cliente de 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 solicitud de vista para un cliente de WDM.

Este valor se puede configurar mediante WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

Tipos de mensajes del perfil de WDM.

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

¡NOTA! A partir del 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 detalles de empaquetado y análisis pasado para justificar una interrupción limpia.

Propiedades
kMsgType_CancelSubscriptionRequest

Mensaje de solicitud para cancelar la suscripción.

kMsgType_CancelSubscriptionRequest_Deprecated

obsoleto

kMsgType_NotifyRequest

Notificar mensaje de solicitud.

kMsgType_NotifyRequest_Deprecated

obsoleto

kMsgType_SubscribeRequest

Mensaje de solicitud de suscripción.

kMsgType_SubscribeRequest_Deprecated

obsoleto

kMsgType_SubscribeResponse

Mensaje de respuesta de suscripción.

kMsgType_SubscribeResponse_Deprecated

obsoleto

kMsgType_UpdateRequest

Mensaje de solicitud de actualización.

kMsgType_UpdateRequest_Deprecated

obsoleto

kMsgType_ViewRequest

Ver mensaje de solicitud.

kMsgType_ViewRequest_Deprecated

obsoleto

kMsgType_ViewResponse

Ver mensaje de respuesta.

kMsgType_ViewResponse_Deprecated

obsoleto

@168

 @168

Varias constantes específicas de WDM.

Propiedades
kDefaultBindingTableIndex

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

kInstanceIdNotSpecified

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

Por lo general, 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 se negó a 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 comodín.

kVersionNotSpecified

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

kWeaveTLVControlByteLen

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

kWeaveTLVTagLen

La longitud estándar en bytes de una etiqueta TLV completamente calificada, que se usa en los 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 se canceló correctamente una suscripción.

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

kStatus_IllegalReadRequest

Este código de estado heredado significa que el nodo que realiza una solicitud para leer un elemento de datos específico 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 específico 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 del 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 del nodo de la persona que responde.

kStatus_InvalidVersion

Este código de estado heredado significa que la versión de los datos incluidos en una solicitud de actualización no coincidió con la versión más reciente del publicador y, por lo tanto, 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 coincidió con la versión más reciente del publicador y, por lo tanto, 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 una cantidad de etiquetas que se usarán en la representación TLV de los datos del perfil.

Como siempre, hay problemas de compatibilidad entre los WDM nuevos y los anteriores. En los malos tiempos, todas estas etiquetas se aplicaban como específicas para el perfil, lo que era un desperdicio de espacio. Ahora usaremos etiquetas de contexto siempre que sea posible, pero debemos conservar las anteriores (y tener un mecanismo para codificar rutas de acceso con ellas) cuando corresponda.

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

Propiedades
kTag_WDMDataList

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

Tipo de etiqueta: Tipo de elemento específico del perfil: Disposición de 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

Obsoleta.

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 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

Obsoleta.

Tipo de etiqueta: Específico del perfil Tipo de elemento: Disposición de la ruta: Obligatorio

kTag_WDMDataListElementVersion

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

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

kTag_WDMDataListElementVersion_Deprecated

Obsoleta.

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

kTag_WDMPathArrayIndexSelector

El elemento de ruta corresponde a un array en el esquema, y el elemento de número 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 ruta corresponde a un array en el esquema, y el elemento encapsulado se debe usar como un 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 TLV.

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

kTag_WDMPathProfile

El elemento es una estructura que se usa para iniciar una ruta de acceso y contiene la información de perfil según la cual se deben interpretar las etiquetas de la ruta.

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

kTag_WDMPathProfileId

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

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

kTag_WDMPathProfileId_Deprecated

Obsoleta.

Tipo de etiqueta: Específico del perfil Tipo de elemento: 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 TLV.

Ten en cuenta que un nodo puede o no tener varias instancias de un perfil en particular y, si solo hay una, este elemento se puede omitir.

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

kTag_WDMPathProfileInstance_Deprecated

Obsoleta.

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

@171

 @171

IDs de temas distinguidos.

Existen tres IDs de tema de interés distinguidos, los tres tienen el formato "específico para editores".

Propiedades
kAnyTopicId

Esto se reserva como un ID de tema comodín.

kTopicIdNotSpecified

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

kTopicIdPublisherSpecificMask

Se usa como máscara para crear o desglosar 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 mensajes.

kTransport_UDP

El transporte subyacente es solo UDP.

kTransport_WRMP

El transporte subyacente es exclusivamente UDP, pero con “capa de compatibilidad de aplicaciones” mejoras de confiabilidad.

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 una abreviatura convencional de un conjunto de rutas conocido, p.ej., "los detector de humo de Nest". Los ID de temas que se usan de esta manera, al igual que los identificadores de perfiles, deben contener un código de proveedor que evite que los ID de temas elegidos de forma autónoma por proveedores dispares no entren en conflicto, tal como se indica a continuación:

bit 48 a 63 bit 0 a 47
ID del proveedor Número de tema
El segundo uso (semántico) de los identificadores de temas surge en el caso de una suscripción dinámica entre un cliente de WDM y un publicador. en este caso, el editor siempre proporcionará un ID de tema único que representa la suscripción específica y lo hará independientemente de que la suscripción se haya solicitado utilizando un ID de tema conocido o una lista de ruta arbitraria. Los identificadores de temas de este formulario se distinguen por tener un código de proveedor 0xFFFF.

También:
WeaveVendorIdentifiers.hpp

Funciones

CheckTLVType

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

Comprueba que un elemento TLV que se está leyendo tenga el tipo de TLV esperado.

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

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

CheckWDMTag

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

Verifica una etiqueta específica de WDM.

Verifica el número de una etiqueta específica de WDM, de .../data-management/DMConstants.h, con la etiqueta real en la parte superior de un lector de 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á.
Resultado que se muestra
true iff aReader.GetTag() produce una etiqueta que coincide con uno de los formatos de etiqueta esperados para el número de etiqueta dado.

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 es parte de una lista de datos de 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.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR, que refleja la incapacidad para 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 WDM o una lista de datos.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR, que refleja la incapacidad para 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 aceptó el servicio antes de la versión 2.0 de Weave. Esta versión del método toma un identificador de instancia numérico. 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_ nuevos). Luego, inserta el ID de la instancia con ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_lab). Esta es una de las versiones obsoletas para codificar una ruta de acceso, y los nuevos diseños deben evitar el uso de este formato.

Detalles
Parámetros
[in] aWriter
Es una referencia al escritor TLV que se usa para escribir la ruta.
[in] aTag
Una referencia a la etiqueta TLV completamente calificada que se aplica a esta ruta de acceso.
[in] aProfileId
El ID de perfil bajo el cual 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
Es la longitud, posiblemente en 0, de la lista de elementos de la ruta de acceso más allá del especificador de perfil inicial.
[in] ...
La lista opcional de longitud variable de las etiquetas de ruta de acceso adicionales.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR, que refleja la incapacidad para dar formato a la ruta de acceso especificada.

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 cadena 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_ nuevos). Luego, inserta el ID de la instancia con ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_lab). Esta es una de las versiones obsoletas para codificar una ruta de acceso, y los nuevos diseños deben evitar el uso de este formato.

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

EncodePath

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

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

Nota:Escribe una ruta de acceso TLV del tipo utilizado en la administración de datos donde, en particular, hay una designación de perfil al comienzo para permitir la interpretación de los elementos de ruta 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.
[in] aTag
Una referencia a la etiqueta TLV completamente calificada que se aplica a esta ruta de acceso.
[in] aProfileId
El ID de perfil bajo el cual 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 un valor de kInstanceIdNotSpecify.
[in] aPathLen
Es la longitud, posiblemente en 0, de la lista de elementos de la ruta de acceso más allá del especificador de perfil inicial.
[in] ...
La lista opcional de longitud variable de las etiquetas de ruta de acceso adicionales.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR, que refleja la incapacidad para dar formato a la ruta de acceso especificada.

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 WDM con un ID de instancia de array de bytes.

Nota:Escribe una ruta de acceso TLV del tipo utilizado en la administración de datos donde, en particular, hay una designación de perfil al comienzo para permitir la interpretación de los elementos de ruta 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.
[in] aTag
Una referencia a la etiqueta TLV completamente calificada que se aplica a esta ruta de acceso.
[in] aProfileId
El ID de perfil bajo el cual se deben interpretar los elementos de la ruta de acceso.
[in] aInstanceIdLen
La longitud del array de bytes que constituye el ID de instancia. Si no hay un ID, este parámetro debe tener un valor de 0.
[in] aInstanceId
El array de bytes opcional que se usa como identificador de instancia de perfil. Este argumento puede ser NULL si no se especifica un ID de instancia.
[in] aPathLen
Es la longitud, posiblemente en 0, de la lista de elementos de la ruta de acceso más allá del especificador de perfil inicial.
[in] ...
La lista opcional de etiquetas de ruta de acceso adicionales de longitud variable.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR, que refleja la incapacidad para dar formato a la ruta de acceso especificada.

EncodePath

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

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

Nota:Escribe una ruta de acceso TLV del tipo utilizado en la administración de datos donde, en particular, hay una designación de perfil al comienzo para permitir la interpretación de los elementos de ruta 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.
[in] aTag
Una referencia a la etiqueta TLV completamente calificada que se aplica a esta ruta de acceso.
[in] aProfileId
El ID de perfil bajo el cual se interpretarán los elementos de la ruta de acceso.
[in] aInstanceId
La cadena opcional que se usa como identificador de instancia del perfil. Este argumento puede ser NULL si no se especifica un ID de instancia.
[in] aPathLen
Es la longitud, posiblemente en 0, de la lista de elementos de la ruta de acceso más allá del especificador de perfil inicial.
[in] ...
La lista opcional de etiquetas de ruta de acceso adicionales de longitud variable.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR, que refleja la incapacidad para dar formato a la ruta de acceso especificada.

EndDataListElement

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

Termina de escribir un elemento de la 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 la que se debe escribir el final del elemento.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR, que refleja la incapacidad para 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 de datos.

Escribe el TLV para el final de una ruta de WDM o una lista de datos. Cierra también al redactor.

Detalles
Parámetros
[in,out] aWriter
Una referencia a un escritor TLV con la que se debe escribir el final de la lista.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR, que refleja la incapacidad para finalizar un contenedor.

EndList

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

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

Escribe el TLV para el final de una ruta de WDM o una lista de datos. Cierra también al redactor. En este caso, el objeto ReferencedTLVData al 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
Una referencia a un escritor TLV con la que se debe escribir el final de la lista.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR, que refleja la incapacidad para finalizar un contenedor.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Verifica si el ID de un tema es específico para un publicador.

Detalles
Parámetros
[in] aTopicId
un identificador de tema para verificar
Resultado que se muestra
true si el ID del tema es específico del 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 leer la lista y valida las etiquetas y los tipos que se encontraron inicialmente en el proceso. Si todo va bien, el lector se detiene después de ingresar al 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 aún se encuentre en un búfer después de recibirla.
[out] aReader
Es una referencia a un lector de TLV que se usa para leer la lista de datos. Este lector se dejará apuntando justo antes del primer elemento de la lista.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja un error al abrir la lista de datos o valida 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.

Si tienes un lector ubicado en un elemento de la lista de datos, comienza a leer el elemento y valida las etiquetas y los tipos que se encontraron inicialmente en el proceso. Si todo sale bien, el lector se posiciona en los datos del elemento de datos y el lector de rutas de entrada/salida se posiciona en la ruta 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 que debe apuntar al componente de la ruta de acceso del elemento de la lista de datos.
[out] aVersion
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 existe una, o bien en kVersionNotSpecify.
Resultado que se muestra
WEAVE_NO_ERROR si se realiza correctamente o, de lo contrario, es un WEAVE_ERROR asociado con la apertura y 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 de acceso.

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 encontraron inicialmente en el proceso. Si todo va bien, el lector se detiene después de ingresar al contenedor de la lista.

Detalles
Parámetros
[in] aPathList
Una lista de rutas de acceso que se pasa como referencia a un objeto ReferencedTLVData. El caso de uso normal será cuando la lista aún se encuentre en un búfer después de recibirla.
[out] aReader
Es una referencia a un lector de TLV que se usa para leer la lista de rutas de acceso. Este lector se dejará apuntando justo antes de la primera ruta de acceso de la lista.
Resultado que se muestra
WEAVE_NO_ERROR si la operación se realizó correctamente; de lo contrario, aparecerá un error WEAVE_ERROR que refleje un error al abrir la lista de rutas de acceso o validar las etiquetas y los tipos relevantes.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

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

Detalles
Resultado que se 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 de WDM, p.ej., como argumento principal de una UpdateRequest().

Detalles
Parámetros
[in] aWriter
Una referencia a un escritor TLV para comenzar a escribir.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad para 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 específico.

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 inicializa para apuntar a un objeto determinado.

Detalles
Parámetros
[out] aDataList
Una referencia a un objeto ReferencedTLVData que será el destino del escritor y, con el tiempo, contendrá los datos de interés.
[in] aWriter
Una referencia a un escritor TLV para comenzar a escribir.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad para 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
Una referencia a un escritor TLV para comenzar a escribir.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad para 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 WDM, p.ej., como argumento principal de una ViewRequest().

Detalles
Parámetros
[in] aWriter
Una referencia a un escritor TLV para comenzar a escribir.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja la incapacidad para 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 de TLV esperado.

Verifica un tipo de TLV determinado en relación con el tipo de elemento al principio de un lector de TLV y muestra un error si no hay una 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 posicionado en el elemento que se validará.
Resultado que se muestra
WEAVE_NO_ERROR si hay una coincidencia o WEAVE_ERROR_WRONG_TLV_TYPE si no es así.
También:
WeaveTLVTypes.h

ValidateWDMTag

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

Valida que un elemento TLV que se está leyendo tenga la etiqueta de WDM esperada.

Detalles
Parámetros
[in] aTagNum
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á.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, será WEAVE_ERROR_INVALID_TLV_TAG si la etiqueta no coincide con el número de etiqueta especificado cuando se interpreta como una etiqueta de WDM.