nl::Weave::Profiles::DataManagement_Current

Este espacio de nombres incluye todas las interfaces de Weave para el perfil de administración de datos de Weave (WDM) que actualmente son compatibles con el uso de producción.

Resumen

Enumeraciones

@100{
  kTag_Region = 1,
  kTag_Message = 2
}
enum
Las etiquetas de kNestDebug_StringLogEntryEvent.
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
enum
Las etiquetas de kNestDebug_TokenizedLogEntryEvent.
@102 enum
Etiquetas para eventos persistentes.
@104 enum
Los tipos de mensaje de perfil de WDM.
@105 enum
Códigos de estado específicos de WDM
@147 enum
@95{
  kTag_CurrentImportance = 1,
  kTag_ImportanceExpiration,
  kTag_MinimumLogUploadInterval,
  kTag_MaximumLogUploadInterval,
  kTag_LoggingDestination,
  kTag_TraitLoggingImportance
}
enum
Etiquetas de configuración de Logging.
@96{
  kTag_SupportedLogTransports = 1,
  kTag_SupportsStreaming = 2,
  kTag_SupportsNonVolatileStorage = 3,
  kTag_SupportsPerTraitVerbosity = 4,
  kTag_LoggingVolume = 5,
  kTag_LogBufferingCapacity = 6
}
enum
Etiquetas para las funciones de registro.
@97{
  kTag_EventSource = 1,
  kTag_EventImportance = 2,
  kTag_EventID = 3,
  kTag_RelatedEventImportance = 10,
  kTag_RelatedEventID = 11,
  kTag_EventUTCTimestamp = 12,
  kTag_EventSystemTimestamp = 13,
  kTag_EventResourceID = 14,
  kTag_EventTraitProfileID = 15,
  kTag_EventTraitInstanceID = 16,
  kTag_EventType = 17,
  kTag_EventDeltaUTCTime = 30,
  kTag_EventDeltaSystemTime = 31,
  kTag_EventData = 50,
  kTag_ExternalEventStructure = 99
}
enum
Las etiquetas de los metadatos del evento.
@98 enum
Definiciones de perfiles para la característica de depuración.
@99{
  kNestDebug_StringLogEntryEvent = 1,
  kNestDebug_TokenizedLogEntryEvent = 2,
  kNestDebug_TokenizedHeaderEntryEvent = 3
}
enum
Tipos de eventos para la característica de depuración de Nest.
CommandFlags{
  kCommandFlag_MustBeVersionValid = 0x0001,
  kCommandFlag_InitiationTimeValid = 0x0002,
  kCommandFlag_ActionTimeValid = 0x0004,
  kCommandFlag_ExpiryTimeValid = 0x0008,
  kCommandFlag_IsOneWay = 0x0010
}
enum
ImportanceType{
  ProductionCritical = 1,
  Production,
  Info,
  Debug
}
enum
La importancia de la entrada de registro.
LoggingManagementStates{
  kLoggingManagementState_Idle = 1,
  kLoggingManagementState_InProgress = 2,
  kLoggingManagementState_Holdoff = 3,
  kLoggingManagementState_Shutdown = 4
}
enum
TimestampType enum
La validez y el tipo de marca de tiempo incluida en EventOptions.

Typedefs

CommandFlags typedef
DataVersion typedef
uint64_t
EventProcessor typedef
void *
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData) typedef
Una función que proporciona el elemento eventData para el subsistema de registro de eventos.
FetchExternalEventsFunct)(EventLoadOutContext *aContext) typedef
Prototipo de función para devoluciones de llamada de plataforma que recuperan datos de eventos.
GenericTraitSinkCatalog typedef
GenericTraitSourceCatalog typedef
ImportanceType typedef
La importancia de la entrada de registro.
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext) typedef
void(*
Iterador de controlador de rasgo.
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer) typedef
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) typedef
void(*
Prototipo de función para una devolución de llamada que se invoca cuando se entregan eventos externos al suscriptor remoto.
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv) typedef
void(*
Prototipo de función para una devolución de llamada invocada cuando se expulsan eventos externos de los búferes.
PropertyDictionaryKey typedef
uint16_t
PropertyPathHandle typedef
uint32_t
Un PropertyPathHandle es un hash numérico único de 32 bits de una ruta de WDM relativa a la raíz de una instancia de trait.
PropertySchemaHandle typedef
uint16_t
SchemaVersion typedef
uint16_t
SingleResourceSinkTraitCatalog typedef
SingleResourceSourceTraitCatalog typedef
TimestampType typedef
La validez y el tipo de marca de tiempo incluida en EventOptions.
TraitDataHandle typedef
uint16_t
duration_t nl::Weave::Profiles::DataManagement_Current::duration_t
uint32_t
Es el tipo que se usa para describir la duración en milisegundos.
event_id_t nl::Weave::Profiles::DataManagement_Current::event_id_t
uint32_t
Es el tipo de ID del evento.
timestamp_t nl::Weave::Profiles::DataManagement_Current::timestamp_t
uint32_t
Es el tipo que se usa para describir la marca de tiempo en milisegundos.
utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::utc_timestamp_t
uint64_t
Es el tipo que se usa para describir la marca de tiempo UTC en milisegundos.

Variables

sInstance
sLogFileName = "topazlog"[]
char

remotas

BdxErrorHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode)
void
BdxGetBlockHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock)
void
BdxRejectHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport)
void
BdxSendAcceptHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg)
BdxXferDoneHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer)
void
BdxXferErrorHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError)
void
CreatePropertyPathHandle(PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey)
EventWriterTLVCopy(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
Es una función auxiliar que traduce un elemento eventdata ya serializado en el búfer de eventos.
GetPropertyDictionaryKey(PropertyPathHandle aHandle)
PropertyDictionaryKey
GetPropertySchemaHandle(PropertyPathHandle aHandle)
PropertySchemaHandle
IsNullPropertyPathHandle(PropertyPathHandle aHandle)
bool
IsRootPropertyPathHandle(PropertyPathHandle aHandle)
bool
IsVersionNewer(const DataVersion & aVersion, const DataVersion & aReference)
bool
Esta es una implementación optimizada del algoritmo para comparar versiones.
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
bool
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
Es una función de utilidad que encuentra un TraitUpdatableDataSink en un catálogo de TraitDataSink.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
Registra un evento desde un formulario serializado previamente.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
Registra un evento desde un formulario serializado previamente, con opciones adicionales.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
Registra un evento con una devolución de llamada.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Registra un evento con una devolución de llamada, con opciones.
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
LogFreeform emite una cadena de formato libre al flujo de eventos predeterminado.
LookForElementWithTag(const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader)
PlainTextWriter(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
Una función auxiliar para emitir un texto de formato libre como un evento de depuración.
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
Una función auxiliar para emitir un texto de formato libre como un evento de depuración.
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool

Clases

nl::Weave::Profiles::DataManagement_Current::AlwaysAcceptDataElementAccessControlDelegate
nl::Weave::Profiles::DataManagement_Current::BuilderBase

Clase base para codificadores de mensajes WDM.

nl::Weave::Profiles::DataManagement_Current::CircularEventReader

Un TLVReader con el respaldo de CircularEventBuffer.

nl::Weave::Profiles::DataManagement_Current::Command
nl::Weave::Profiles::DataManagement_Current::CommandSender
nl::Weave::Profiles::DataManagement_Current::GenericTraitCatalogImpl

Weave proporcionó la implementación de la interfaz TraitCatalogBase para una colección de instancias de datos de características que hacen referencia al mismo recurso.

nl::Weave::Profiles::DataManagement_Current::IDataElementAccessControlDelegate

Interfaz que implementará un procesador de elementos de datos en una NotifyRequest.

nl::Weave::Profiles::DataManagement_Current::IDirtyPathCut
nl::Weave::Profiles::DataManagement_Current::IPathFilter
nl::Weave::Profiles::DataManagement_Current::IWeavePublisherLock

Interfaz que implementará la app para serializar el acceso a estructuras clave de datos WDM.

nl::Weave::Profiles::DataManagement_Current::IWeaveWDMMutex

Interfaz de un objeto de exclusión mutua.

nl::Weave::Profiles::DataManagement_Current::ListBuilderBase

Clase básica para los codificadores de mensajes WDM, especializada en elementos de arreglo de TLV, como las listas de datos y las listas de versiones.

nl::Weave::Profiles::DataManagement_Current::ListParserBase

Clase básica para los analizadores de mensajes de WDM, especializada en elementos de arreglo de TLV, como las listas de datos y las listas de versiones.

nl::Weave::Profiles::DataManagement_Current::LogBDXUpload
nl::Weave::Profiles::DataManagement_Current::LoggingConfiguration

LoggingConfiguration encapsula el componente configurable del subsistema de Logging de eventos de Weave.

nl::Weave::Profiles::DataManagement_Current::LoggingManagement

Es una clase para administrar los registros de eventos en la memoria.

nl::Weave::Profiles::DataManagement_Current::NotificationEngine
nl::Weave::Profiles::DataManagement_Current::ParserBase

Clase base para los analizadores de mensajes de WDM.

nl::Weave::Profiles::DataManagement_Current::ResourceIdentifier

Es una estructura que encapsula el ID de un recurso.

nl::Weave::Profiles::DataManagement_Current::SingleResourceTraitCatalog
nl::Weave::Profiles::DataManagement_Current::SubscriptionClient
nl::Weave::Profiles::DataManagement_Current::SubscriptionEngine

Se trata de un singleton que aloja todas las suscripciones de WDM Next, tanto del cliente como del editor.

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler
nl::Weave::Profiles::DataManagement_Current::TraitCatalogBase
nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitDataSource
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine

El motor de esquema toma la información del esquema asociada con una característica en particular y proporciona recursos para analizarla y traducirla a un formato que pueda usar la maquinaria de WDM.

nl::Weave::Profiles::DataManagement_Current::TraitUpdatableDataSink
nl::Weave::Profiles::DataManagement_Current::UpdateClient
nl::Weave::Profiles::DataManagement_Current::UpdateDictionaryDirtyPathCut

Clase de utilidad para volver a colocar el diccionario en la cola de pendientes cuando se procesa la ruta de acceso de la propiedad que tiene un elemento secundario del diccionario.

nl::Weave::Profiles::DataManagement_Current::UpdateDirtyPathFilter

Es la clase de utilidad para filtrar la ruta de acceso cuando se controla la notificación.

nl::Weave::Profiles::DataManagement_Current::UpdateEncoder

Este objeto codifica cargas útiles UpdateRequest y PartialUpdateRequest de WDM.

nl::Weave::Profiles::DataManagement_Current::ViewClient

Structs

nl::Weave::Profiles::DataManagement_Current::CircularEventBuffer

Búfer de evento interno, compilado en torno a nl::Weave::TLV::WeaveCircularTLVBuffer.

nl::Weave::Profiles::DataManagement_Current::ConstSchemaVersionRange
nl::Weave::Profiles::DataManagement_Current::CopyAndAdjustDeltaTimeContext

Estructura interna para la lista de eventos de recorrido.

nl::Weave::Profiles::DataManagement_Current::DebugLogContext
nl::Weave::Profiles::DataManagement_Current::DetailedRootSection

La estructura que proporciona una resolución completa de la instancia de trait.

nl::Weave::Profiles::DataManagement_Current::EventEnvelopeContext

Estructura interna para los eventos de recorrido.

nl::Weave::Profiles::DataManagement_Current::EventLoadOutContext

Estructura para copiar listas de eventos en el resultado.

nl::Weave::Profiles::DataManagement_Current::EventOptions

Es la estructura que proporciona opciones para los diferentes campos de eventos.

nl::Weave::Profiles::DataManagement_Current::EventSchema

Es la estructura que define un esquema para los metadatos de eventos.

nl::Weave::Profiles::DataManagement_Current::ExternalEvents

Estructura para hacer un seguimiento de los eventos almacenados en la plataforma.

nl::Weave::Profiles::DataManagement_Current::LogStorageResources

Una clase auxiliar que se usa para inicializar la administración de registros.

nl::Weave::Profiles::DataManagement_Current::ReclaimEventCtx
nl::Weave::Profiles::DataManagement_Current::SchemaVersionRange
nl::Weave::Profiles::DataManagement_Current::TraitPath
nl::Weave::Profiles::DataManagement_Current::TraitPathStore
nl::Weave::Profiles::DataManagement_Current::VersionedTraitPath

Unión

nl::Weave::Profiles::DataManagement_Current::Timestamp

La unión que proporciona un sistema de conjunto de aplicaciones o una marca de tiempo UTC.

Espacios de nombres

nl::Weave::Profiles::DataManagement_Current::BaseMessageWithSubscribeId
nl::Weave::Profiles::DataManagement_Current::CustomCommand

Definición del comando personalizado de WDM

nl::Weave::Profiles::DataManagement_Current::CustomCommandResponse

Definición de la respuesta de comando personalizado de WDM

nl::Weave::Profiles::DataManagement_Current::DataElement

Definición de elemento de datos de WDM

nl::Weave::Profiles::DataManagement_Current::DataList
nl::Weave::Profiles::DataManagement_Current::Event
nl::Weave::Profiles::DataManagement_Current::EventList
nl::Weave::Profiles::DataManagement_Current::NotificationRequest
nl::Weave::Profiles::DataManagement_Current::Path

Definición de la ruta de acceso de WDM.

nl::Weave::Profiles::DataManagement_Current::PathList

Definición de lista de ruta de acceso de WDM.

nl::Weave::Profiles::DataManagement_Current::Platform
nl::Weave::Profiles::DataManagement_Current::RejectionRecord
nl::Weave::Profiles::DataManagement_Current::RejectionRecordList
nl::Weave::Profiles::DataManagement_Current::StatusElement

Definición del elemento de estado de WDM

nl::Weave::Profiles::DataManagement_Current::StatusList
nl::Weave::Profiles::DataManagement_Current::SubscribeCancelRequest
nl::Weave::Profiles::DataManagement_Current::SubscribeConfirmRequest
nl::Weave::Profiles::DataManagement_Current::SubscribeRequest
nl::Weave::Profiles::DataManagement_Current::SubscribeResponse
nl::Weave::Profiles::DataManagement_Current::UpdateRequest

Definición de Solicitud de actualización de WDM.

nl::Weave::Profiles::DataManagement_Current::UpdateResponse
nl::Weave::Profiles::DataManagement_Current::VersionList
nl::Weave::Profiles::DataManagement_Current::ViewRequest
nl::Weave::Profiles::DataManagement_Current::ViewResponse

Enumeraciones

@100

 @100

Las etiquetas de kNestDebug_StringLogEntryEvent.

Propiedades
kTag_Message

Es una cadena que contiene el mensaje de depuración real.

kTag_Region

Un archivo de 32 bits sin firma que indica la región de registro, es decir, el módulo al que corresponde el mensaje de registro.

@101

 @101

Las etiquetas de kNestDebug_TokenizedLogEntryEvent.

Propiedades
kTag_Args

Un array de argumentos que se enviarán junto con el mensaje de token.

kTag_Token

Un valor sin firma de 32 bits que corresponde al token.

@102

 @102

Etiquetas para eventos persistentes.

@104

 @104

Los tipos de mensaje de perfil de WDM.

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

@105

 @105

Códigos de estado específicos de WDM

@147

 @147

@95

 @95

Etiquetas de configuración de Logging.

Propiedades
kTag_CurrentImportance

Importancia actual del registro, el valor es del tipo ImportanceType.

kTag_ImportanceExpiration

Hora, en UTC, segundos a partir de la cual los parámetros de configuración de registro elevados actuales vuelven a los valores predeterminados.

kTag_LoggingDestination

Una URL que denota el destino de la carga del registro.

kTag_MaximumLogUploadInterval

Es la duración máxima, en segundos, entre los intentos de carga de registros activados automáticamente.

kTag_MinimumLogUploadInterval

Es la duración mínima, en segundos, entre los intentos de carga de registros activados automáticamente.

kTag_TraitLoggingImportance

Un array opcional que asigna perfiles elegidos de forma selectiva a los niveles de registro más altos.

Cada elemento de un array toma una forma (profile,path,loggingimportance) para elevar de forma selectiva el registro de un subconjunto del sistema. La prioridad elevada de registro de perfiles solo es importante cuando la prioridad de registro supera la de currentImportance y está sujeta a la misma hora de vencimiento que currentImportance.

@96

 @96

Etiquetas para las funciones de registro.

Propiedades
kTag_LogBufferingCapacity

Un número entero de 32 bits sin firma que describe la capacidad de almacenamiento en búfer de registro en KB.

kTag_LoggingVolume

Un número entero de 32 bits sin firma que describe el volumen de registro esperado en KB por día.

kTag_SupportedLogTransports

Es un array de mecanismos de transporte de registros compatibles.

kTag_SupportsNonVolatileStorage

Es un valor booleano que indica si el dispositivo admite el almacenamiento de registros no volátiles.

kTag_SupportsPerTraitVerbosity

Un valor booleano que indica si el dispositivo admite la configuración de verbosidad por característica.

kTag_SupportsStreaming

Un valor booleano que indica si el dispositivo admite la transmisión de registros.

@97

 @97

Las etiquetas de los metadatos del evento.

Para obtener una semántica completa de los valores de etiquetas, consulta la Especificación de diseño de eventos.

Propiedades
kTag_EventData

Opcional. Los datos de eventos en sí. Si está vacío, se muestra de forma predeterminada en una estructura vacía.

kTag_EventDeltaSystemTime

Etiqueta interna de WDM, diferencia de tiempo con respecto al evento anterior en la codificación.

kTag_EventDeltaUTCTime

Etiqueta interna de WDM, diferencia de tiempo con respecto al evento anterior en la codificación.

kTag_EventID

Número de secuencia del evento, expresado como una cantidad sin signo de 64 bits

Debe ser secuencial; los saltos en la secuencia indican espacios de eventos.

kTag_EventImportance

Importancia del evento

kTag_EventResourceID

Opcional.

El valor es el ID del recurso al que corresponde el evento. Cuando se omite, el valor es el mismo que el de kTag_EventSource.

kTag_EventSource

NodeID del dispositivo que generó el evento.

kTag_EventSystemTimestamp

Opcional. Es la marca de tiempo del sistema del evento, expresada en milisegundos.

kTag_EventTraitInstanceID

Opcional: La instancia del trait que generó el evento.

kTag_EventTraitProfileID

Obligatoria. Número entero de 32 bits sin firma que es igual al ProfileID de la característica.

kTag_EventType

Obligatoria. Número entero de 16 bits sin firma que es igual al wdl.event.id para este tipo de evento.

kTag_EventUTCTimestamp

Opcional. La marca de tiempo del evento en UTC, expresada en milisegundos.

kTag_ExternalEventStructure

Etiqueta interna para eventos externos. Nunca se transmite a través del cable, nunca se debe usar fuera de la biblioteca de Weave.

kTag_RelatedEventID

Opcional.

ID de un evento con el que está relacionado este evento. Si se omite, el valor es igual al valor de kTag_EventID.

kTag_RelatedEventImportance

Opcional.

La importancia del evento relacionado. Si se omite, el valor es igual al valor de kTag_EventImportance.

@98

 @98

Definiciones de perfiles para la característica de depuración.

@99

 @99

Tipos de eventos para la característica de depuración de Nest.

Propiedades
kNestDebug_StringLogEntryEvent

Un evento para el mensaje de depuración de string de formato libre.

kNestDebug_TokenizedHeaderEntryEvent

Un evento para transmitir la información del encabezado tokenizado.

kNestDebug_TokenizedLogEntryEvent

Un evento para el mensaje de depuración con token.

CommandFlags

 CommandFlags
Propiedades
kCommandFlag_ActionTimeValid

Se establece cuándo es válido el tiempo de la acción.

kCommandFlag_ExpiryTimeValid

Establece cuándo es válida la hora de vencimiento.

kCommandFlag_InitiationTimeValid

Se establece cuando el tiempo de inicio es válido.

kCommandFlag_IsOneWay

Se establece cuando el comando es unidireccional.

kCommandFlag_MustBeVersionValid

Se establece cuando el campo de versión es válido.

ImportanceType

 ImportanceType

La importancia de la entrada de registro.

La importancia se usa como una forma de filtrar eventos antes de que se emitan en el registro. Una vez que el evento se incluye en el registro, no tomamos más medidas para eliminarlo. El nivel de importancia sirve para priorizar el almacenamiento de eventos. Si se agrega un evento de gran importancia a un búfer completo, los eventos se descartan en orden de importancia (y antigüedad) para adaptarse a él. Por lo tanto, los niveles de importancia solo tienen un valor relativo. Si un sistema usa un solo nivel de importancia, los eventos se descartan solo por orden de antigüedad, como un búfer de anillo.

Propiedades
Debug

La importancia de la depuración denota las entradas de registro que son de interés para los desarrolladores del sistema y se usa principalmente en la fase de desarrollo.

Los registros de importancia de la depuración no se tienen en cuenta en el ancho de banda o en la energía de los dispositivos restringidos; por lo tanto, solo deben usarse durante un período limitado en los sistemas de producción.

Info

La importancia de la información denota las entradas de registro que proporcionan estadísticas y diagnósticos adicionales sobre el sistema en ejecución.

El nivel de registro de información se puede usar durante un período prolongado en un sistema de producción o se puede usar como nivel de registro predeterminado en una prueba de campo. En los dispositivos restringidos, las entradas registradas con el nivel de información se deben tener en cuenta en el ancho de banda y en el presupuesto de memoria, pero no en el consumo de energía.

Production

La importancia de la producción denota las entradas de registro que se usan en la supervisión y el mantenimiento continuos del ecosistema de Nest.

En dispositivos con restricciones, las entradas registradas con importancia de producción se deben tener en cuenta en el presupuesto de energía y memoria, ya que se espera que siempre se registren y descarguen del dispositivo.

ProductionCritical

La importancia crítica en la producción indica eventos cuya pérdida afectaría directamente las características para el cliente.

Las aplicaciones pueden usar la pérdida de eventos críticos de producción para indicar fallas del sistema. En los dispositivos restringidos, las entradas registradas con importancia crítica de producción se deben tener en cuenta en el presupuesto de energía y memoria, ya que se espera que siempre se registren y descarguen del dispositivo.

LoggingManagementStates

 LoggingManagementStates
Propiedades
kLoggingManagementState_Holdoff

Se completó la descarga de registros. No reiniciamos el registro hasta que venza la retención.

kLoggingManagementState_Idle

No hay descarga de registros en curso; la descarga de registros puede comenzar sin restricciones.

kLoggingManagementState_InProgress

Descarga de registros en curso.

kLoggingManagementState_Shutdown

No es capaz de realizar ninguna operación de registro.

TimestampType

 TimestampType

La validez y el tipo de marca de tiempo incluida en EventOptions.

Typedefs

CommandFlags

enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags

DataVersion

uint64_t DataVersion

EventProcessor

void * EventProcessor

EventWriterFunct

WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)

Una función que proporciona el elemento eventData para el subsistema de registro de eventos.

Se espera que las funciones de este tipo proporcionen el elemento eventData para el subsistema de registro de eventos. Las funciones de este tipo se llaman después de que el subsistema de eventos genera todos los metadatos de eventos obligatorios. La función se llama con un objeto nl::Weave::TLV::TLVWriter en el que emite un solo elemento TLV con la etiqueta kTag_EventData. El valor de ese elemento DEBE ser una estructura que contenga los datos del evento. Los datos del evento en sí se deben estructurar mediante etiquetas de contexto.

Detalles
Parámetros
[in,out] ioWriter
Una referencia al objeto nl::Weave::TLV::TLVWriter que se usará para la serialización de datos de eventos.
[in] inDataTag
Una etiqueta de contexto para el TLV que escribimos.
[in] appData
Un puntero para un contexto específico de la aplicación.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
other
Un error adecuado que indica al emisor que no se pudo completar la serialización de los datos de eventos. Los errores de las llamadas a ioWriter deben propagarse sin reasignación. Si la función muestra algún tipo de error, la generación del evento se anula y el evento no se escribe en el registro.
Consulta también:
PlainTextWriter
EventWriterTLVCopy

FetchExternalEventsFunct

WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)

Prototipo de función para devoluciones de llamada de plataforma que recuperan datos de eventos.

De forma similar a FetchEventsdesde, esta función de recuperación muestra todos los eventos desde EventLoadOutContext.m popularesEventID hasta ExternalEvents.mLastEventID.

El puntero de contexto es del tipo FetchExternalEventsContext. Esto incluye EventLoadOutContext, con algunas variables de ayuda para el formato del TLV. También incluye un puntero a la estructura ExternalEvents creada cuando se registra la devolución de llamada. Esto especifica el rango de ID de evento para la devolución de llamada.

Al regresar de la función, EventLoadOutContext.mCurrentEventID debe reflejar el primer ID del evento que no se escribió correctamente en el búfer TLV. La plataforma debe escribir el encabezado y los datos de eventos en el escritor de TLV en el formato correcto, especificado por el protocolo EventLogging. La plataforma también debe mantener la unicidad de los eventos y las marcas de tiempo.

Todos los errores de TLV deben propagarse a niveles superiores. Por ejemplo, si te quedas sin espacio en el búfer, se activará un mensaje enviado, seguido de otra llamada a la devolución de llamada con el ID de evento que quede.

Detalles
Valores que se muestran
WEAVE_ERROR_NO_MEMORY
Si no hay espacio para escribir eventos
WEAVE_ERROR_BUFFER_TOO_SMALL
Si no hay espacio para escribir eventos
WEAVE_NO_ERROR
Si la operación es exitosa.
WEAVE_END_OF_TLV
Si la operación es exitosa.

GenericTraitSinkCatalog

GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog

GenericTraitSourceCatalog

GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog

ImportanceType

enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType

La importancia de la entrada de registro.

La importancia se usa como una forma de filtrar eventos antes de que se emitan en el registro. Una vez que el evento se incluye en el registro, no tomamos más medidas para eliminarlo. El nivel de importancia sirve para priorizar el almacenamiento de eventos. Si se agrega un evento de gran importancia a un búfer completo, los eventos se descartan en orden de importancia (y antigüedad) para adaptarse a él. Por lo tanto, los niveles de importancia solo tienen un valor relativo. Si un sistema usa un solo nivel de importancia, los eventos se descartan solo por orden de antigüedad, como un búfer de anillo.

IteratorCallback

void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)

Iterador de controlador de rasgo.

LoggingBufferHandler

WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)

NotifyExternalEventsDeliveredFunct

void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)

Prototipo de función para una devolución de llamada que se invoca cuando se entregan eventos externos al suscriptor remoto.

Cuando los eventos externos se entregan a un suscriptor remoto, el motor proporcionará una notificación al proveedor de eventos externo. La devolución de llamada contiene el evento del último ID entregado y el ID del suscriptor que recibió el evento.

Detalles
Parámetros
[in] inEv
Objeto de eventos externos que corresponde a eventos publicados
[in] inLastDeliveredEventID
Es el ID del último evento entregado al suscriptor.
[in] inRecipientNodeID
ID de nodo de Weave del destinatario

NotifyExternalEventsEvictedFunct

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

Prototipo de función para una devolución de llamada invocada cuando se expulsan eventos externos de los búferes.

Cuando el objeto de eventos externos se expulsa del búfer de mensajes salientes, el motor enviará una notificación al proveedor de eventos externo. La devolución de llamada contiene el evento externo que se expulsará.

Detalles
Parámetros
[in] inEv
Objeto de eventos externos que se expulsará

PropertyDictionaryKey

uint16_t PropertyDictionaryKey

PropertyPathHandle

uint32_t PropertyPathHandle

Un PropertyPathHandle es un hash numérico único de 32 bits de una ruta de WDM relativa a la raíz de una instancia de trait.

Consta de dos partes:

  • Un número de 16 bits inferior que se asigna a la parte estática del esquema.
  • Cuando los 16 bits inferiores se refieren a una ruta dentro de un elemento del diccionario, hay un número superior de 16 bits que representa la clave del diccionario asociada con ese elemento. Si los 16 bits inferiores hacen referencia a un elemento que no es diccionario, los 16 bits superiores deben ser 0.

Estas son algunas características:

  • Cada característica tiene su propio espacio de controlador de ruta de propiedad.
  • Cada ruta de acceso secundaria de WDM única tendrá un objeto PropertyPathHandle único similar.
  • Un compilador de rasgos de IDL genera automáticamente los objetos PropertyPathHandles (se hace manualmente) y se representa como una lista en el archivo de encabezado de la característica correspondiente.
  • Con esta construcción, la lógica de la aplicación nunca tiene que tratar las rutas de acceso WDM directamente. En cambio, sus interacciones con WDM se realizan exclusivamente a través de estos identificadores.
  • Hay dos valores reservados para los controladores de ruta de acceso que tienen un significado específico:
    • 0 indica un controlador “NULL”
    • 1 indica un controlador que apunta a la raíz de la instancia de trait.

PropertySchemaHandle

uint16_t PropertySchemaHandle

SchemaVersion

uint16_t SchemaVersion

SingleResourceSinkTraitCatalog

SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog

SingleResourceSourceTraitCatalog

SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog

TimestampType

enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType

La validez y el tipo de marca de tiempo incluida en EventOptions.

TraitDataHandle

uint16_t TraitDataHandle

duration_t

uint32_t duration_t

Es el tipo que se usa para describir la duración en milisegundos.

event_id_t

uint32_t event_id_t

Es el tipo de ID del evento.

timestamp_t

uint32_t timestamp_t

Es el tipo que se usa para describir la marca de tiempo en milisegundos.

utc_timestamp_t

uint64_t utc_timestamp_t

Es el tipo que se usa para describir la marca de tiempo UTC en milisegundos.

Variables

sInstance

LoggingManagement sInstance

sLogFileName

char sLogFileName[] = "topazlog"

remotas

BdxErrorHandler

void BdxErrorHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer,
  WEAVE_ERROR aErrorCode
)

BdxGetBlockHandler

void BdxGetBlockHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer,
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aIsLastBlock
)

BdxRejectHandler

void BdxRejectHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer,
  nl::Weave::Profiles::StatusReporting::StatusReport *aReport
)

BdxSendAcceptHandler

WEAVE_ERROR BdxSendAcceptHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer,
  nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg
)

BdxXferDoneHandler

void BdxXferDoneHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer
)

BdxXferErrorHandler

void BdxXferErrorHandler(
  nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer,
  nl::Weave::Profiles::StatusReporting::StatusReport *aXferError
)

CreatePropertyPathHandle

PropertyPathHandle CreatePropertyPathHandle(
  PropertySchemaHandle aPropertyPathSchemaId,
  PropertyDictionaryKey aPropertyPathDictionaryKey
)

EventWriterTLVCopy

WEAVE_ERROR EventWriterTLVCopy(
  TLVWriter & ioWriter,
  uint8_t inDataTag,
  void *appData
)

Es una función auxiliar que traduce un elemento eventdata ya serializado en el búfer de eventos.

Detalles
Parámetros
[in,out] ioWriter
Escritor que se debe usar para escribir el evento
[in] inDataTag
Una etiqueta de contexto para el TLV que copiaremos. No se usa aquí, pero es requerido por typedef para EventWriterFunct.
[in] appData
Un puntero al TLVReader que contiene datos de eventos serializados.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
other
Otros errores que puede mostrar ioWriter

GetPropertyDictionaryKey

PropertyDictionaryKey GetPropertyDictionaryKey(
  PropertyPathHandle aHandle
)

GetPropertySchemaHandle

PropertySchemaHandle GetPropertySchemaHandle(
  PropertyPathHandle aHandle
)

IsNullPropertyPathHandle

bool IsNullPropertyPathHandle(
  PropertyPathHandle aHandle
)

IsRootPropertyPathHandle

bool IsRootPropertyPathHandle(
  PropertyPathHandle aHandle
)

IsVersionNewer

bool IsVersionNewer(
  const DataVersion & aVersion,
  const DataVersion & aReference
)

Esta es una implementación optimizada del algoritmo para comparar versiones.

En el lado del cliente, una versión recibida del servicio siempre es la más reciente.

IsVersionNewerOrEqual

bool IsVersionNewerOrEqual(
  const DataVersion & aVersion,
  const DataVersion & aReference
)

Ubicar

TraitUpdatableDataSink * Locate(
  TraitDataHandle aTraitDataHandle,
  const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog
)

Es una función de utilidad que encuentra un TraitUpdatableDataSink en un catálogo de TraitDataSink.

Detalles
Parámetros
[in] aTraitDataHandle
Controlador del receptor que se buscará.
[in] aDataSinkCatalog
Catálogo para buscar.
Qué muestra
Un puntero para TraitUpdatableDataSink. Debe ser NULL si el controlador no existe o si apunta a un TraitDataSink que no se pueda actualizar.

LogEvent

event_id_t LogEvent(
  const EventSchema & inSchema,
  nl::Weave::TLV::TLVReader & inData
)

Registra un evento desde un formulario serializado previamente.

La función registra un evento representado como nl::Weave::TLV::TLVReader. Esto implica que la representación de datos de eventos ya está serializada en el almacenamiento subyacente de nl::Weave::TLV::TLVReader. Se espera que nl::Weave::TLV::TLVReader contenga un único elemento de datos, que debe ser una estructura. El primer elemento que se lee en el lector se trata como datos de eventos y se almacena en el registro de eventos. Los datos del evento DEBEN contener etiquetas de contexto para que se interpreten dentro del esquema identificado por inProfileID y inEventType. Se ignorará la etiqueta del primer elemento; el sistema de registro de eventos la reemplazará con la etiqueta eventData.

El evento se registra si su inImportance supera el umbral de registro especificado en LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0 como el ID del evento resultante.

Esta variante de la invocación especifica implícitamente todas las opciones de eventos predeterminadas:

  • el evento tiene una marca de tiempo con la hora actual en el punto de la llamada;
  • El evento se marca como relacionado con el dispositivo que realiza la llamada.
  • El evento es independiente, no está relacionado con ningún otro evento.
  • el evento se marca como no urgente

Detalles
Parámetros
[in] inSchema
Esquema que define la importancia, el ID de perfil y el tipo de estructura de este evento.
[in] inData
El lector TLV que contiene los datos del evento como primer elemento
Qué muestra
event_id_t Es el ID del evento si el evento se escribió en el registro; de lo contrario, es 0.

LogEvent

event_id_t LogEvent(
  const EventSchema & inSchema,
  nl::Weave::TLV::TLVReader & inData,
  const EventOptions *inOptions
)

Registra un evento desde un formulario serializado previamente, con opciones adicionales.

La función registra un evento representado como nl::Weave::TLV::TLVReader. Esto implica que la representación de datos de eventos ya está serializada en el almacenamiento subyacente de nl::Weave::TLV::TLVReader. Se espera que nl::Weave::TLV::TLVReader contenga un único elemento de datos, que debe ser una estructura. El primer elemento que se lee en el lector se trata como datos de eventos y se almacena en el registro de eventos. Los datos del evento DEBEN contener etiquetas de contexto para que se interpreten dentro del esquema identificado por inProfileID y inEventType. Se ignorará la etiqueta del primer elemento; el sistema de registro de eventos la reemplazará con la etiqueta eventData.

El evento se registra si su inImportance supera el umbral de registro especificado en LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0 como el ID del evento resultante.

Esta variante de la invocación permite que el llamador establezca cualquier combinación de EventOptions:

  • marca de tiempo, cuando 0 muestra de manera predeterminada la hora actual en el punto de la llamada,
  • Sección “raíz” de la fuente del evento (fuente del evento e ID de la característica). Si es NULL, el valor predeterminado es el dispositivo actual. El evento se marca como relacionado con el dispositivo que realiza la llamada.
  • Un ID de evento relacionado para agrupar IDs de eventos; cuando el ID de evento relacionado es 0, el evento se marca como no relacionado con ningún otro evento.
  • urgencia; de forma predeterminada no es urgente.

Detalles
Parámetros
[in] inSchema
Esquema que define la importancia, el ID de perfil y el tipo de estructura de este evento.
[in] inData
El lector TLV que contiene los datos del evento como primer elemento No debe ser NULO
[in] inOptions
Las opciones de los metadatos del evento. Puede ser NULL.
Qué muestra
event_id_t Es el ID del evento si el evento se escribió en el registro; de lo contrario, es 0.

LogEvent

event_id_t LogEvent(
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData
)

Registra un evento con una devolución de llamada.

La función registra un evento representado como EventWriterFunct y un contexto appData específico de la app. La función escribe los metadatos del evento y llama a inEventWriter con una referencia nl::Weave::TLV::TLVWriter y un contexto de inAppData para que el código del usuario pueda emitir los datos del evento directamente en el registro de eventos. Esta forma de registro de eventos minimiza el consumo de memoria, ya que los datos de eventos se serializan directamente en el búfer de destino. Los datos del evento DEBEN contener etiquetas de contexto para que se interpreten dentro del esquema identificado por inProfileID y inEventType. Se ignorará la etiqueta del primer elemento; el sistema de registro de eventos la reemplazará con la etiqueta eventData.

El evento se registra si su inImportance supera el umbral de registro especificado en LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0 como el ID del evento resultante.

Esta variante de la invocación especifica implícitamente todas las opciones de eventos predeterminadas:

  • el evento tiene una marca de tiempo con la hora actual en el punto de la llamada;
  • El evento se marca como relacionado con el dispositivo que realiza la llamada.
  • El evento es independiente, no está relacionado con ningún otro evento.
  • el evento se marca como no urgente

Detalles
Parámetros
[in] inSchema
Esquema que define la importancia, el ID de perfil y el tipo de estructura de este evento.
[in] inEventWriter
Es la devolución de llamada que se debe invocar para serializar los datos del evento.
[in] inAppData
Es el contexto de la aplicación para la devolución de llamada.
Qué muestra
event_id_t Es el ID del evento si el evento se escribió en el registro; de lo contrario, es 0.

LogEvent

event_id_t LogEvent(
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData,
  const EventOptions *inOptions
)

Registra un evento con una devolución de llamada, con opciones.

La función registra un evento representado como EventWriterFunct y un contexto appData específico de la app. La función escribe los metadatos del evento y llama a inEventWriter con una referencia nl::Weave::TLV::TLVWriter y un contexto de inAppData para que el código del usuario pueda emitir los datos del evento directamente en el registro de eventos. Esta forma de registro de eventos minimiza el consumo de memoria, ya que los datos de eventos se serializan directamente en el búfer de destino. Los datos del evento DEBEN contener etiquetas de contexto para que se interpreten dentro del esquema identificado por inProfileID y inEventType. Se ignorará la etiqueta del primer elemento; el sistema de registro de eventos la reemplazará con la etiqueta eventData.

El evento se registra si su inImportance supera el umbral de registro especificado en LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0 como el ID del evento resultante.

Esta variante de la invocación permite que el llamador establezca cualquier combinación de EventOptions:

  • marca de tiempo, cuando 0 muestra de manera predeterminada la hora actual en el punto de la llamada,
  • Sección “raíz” de la fuente del evento (fuente del evento e ID de la característica). Si es NULL, el valor predeterminado es el dispositivo actual. El evento se marca como relacionado con el dispositivo que realiza la llamada.
  • Un ID de evento relacionado para agrupar IDs de eventos; cuando el ID de evento relacionado es 0, el evento se marca como no relacionado con ningún otro evento.
  • urgencia; de forma predeterminada no es urgente.

Detalles
Parámetros
[in] inSchema
Esquema que define la importancia, el ID de perfil y el tipo de estructura de este evento.
[in] inEventWriter
Es la devolución de llamada que se debe invocar para serializar los datos del evento.
[in] inAppData
Es el contexto de la aplicación para la devolución de llamada.
[in] inOptions
Las opciones de los metadatos del evento. Puede ser NULL.
Qué muestra
event_id_t Es el ID del evento si el evento se escribió en el registro; de lo contrario, es 0.

LogFreeform

event_id_t LogFreeform(
  ImportanceType inImportance,
  const char *inFormat,
  ...
)

LogFreeform emite una cadena de formato libre al flujo de eventos predeterminado.

La string se encapsulará en una estructura de evento de depuración, de forma estructural idéntica a otras strings registradas. El ID de perfil del evento será el de un evento de Nest Debug, y el tipo de evento será kNestDebug_StringLogEntryEvent.

Detalles
Parámetros
[in] inImportance
La importancia de la entrada de registro: si la importancia es inferior a la actual, el evento no se registra realmente.
[in] inFormat
Es una cadena de formato que cumple con printf, seguida de argumentos a los que se debe dar formato.
Qué muestra
event_id_t Es el ID del evento si el evento se escribió en el registro; de lo contrario, es 0.

LookForElementWithTag

WEAVE_ERROR LookForElementWithTag(
  const nl::Weave::TLV::TLVReader & aSrcReader,
  const uint64_t aTagInApiForm,
  nl::Weave::TLV::TLVReader *apDstReader
)

PlainTextWriter

WEAVE_ERROR PlainTextWriter(
  TLVWriter & ioWriter,
  uint8_t inDataTag,
  void *appData
)

Una función auxiliar para emitir un texto de formato libre como un evento de depuración.

El evento de depuración es una estructura con una logregion y un texto de formato libre.

Detalles
Parámetros
[in,out] ioWriter
Escritor que se debe usar para escribir el evento
[in] appData
Un puntero para DebugLogContext, una estructura que contiene un formato de string, argumentos y una región de registro
[in] inDataTag
Una etiqueta de contexto para el TLV que escribimos. No se usa aquí, pero es requerido por typedef para EventWriterFunct.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
other
Otros errores que puede mostrar ioWriter

PlainTextWriter

WEAVE_ERROR PlainTextWriter(
  ::nl::Weave::TLV::TLVWriter & ioWriter,
  uint8_t inDataTag,
  void *appData
)

Una función auxiliar para emitir un texto de formato libre como un evento de depuración.

El evento de depuración es una estructura con una logregion y un texto de formato libre.

Detalles
Parámetros
[in,out] ioWriter
Escritor que se debe usar para escribir el evento
[in] inDataTag
La etiqueta que se emitirá
[in] appData
Un puntero para DebugLogContext, una estructura que contiene un formato de string, argumentos y una región de registro
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
other
Otros errores que puede mostrar ioWriter.

operador!=

bool operator!=(
  const ResourceIdentifier & lhs,
  const ResourceIdentifier & rhs
)

operador==

bool operator==(
  const ResourceIdentifier & lhs,
  const ResourceIdentifier & rhs
)