nl::Weave::Profiles::DataManagement_Current

Este espacio de nombres incluye todas las interfaces dentro 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
Etiquetas para el kNestDebug_StringLogEntryEvent.
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
enum
Etiquetas para el kNestDebug_TokenizedLogEntryEvent.
@102 enum
Etiquetas para eventos persistentes.
@104 enum
Tipos de mensajes del 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 capacidades 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
Etiquetas para los metadatos del evento.
@98 enum
Definiciones de perfil 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 Nest Debug.
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 que se incluye en EventOptions.

Typedefs

CommandFlags typedef
DataVersion typedef
uint64_t
EventProcessor typedef
void *
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData) typedef
Función que proporciona un 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 trait.
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 una función para una devolución de llamada que se invoca cuando los eventos externos son expulsados 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 que se incluye en EventOptions.
TraitDataHandle typedef
uint16_t
duration_t nl::Weave::Profiles::DataManagement_Current::duration_t
uint32_t
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 de evento.
timestamp_t nl::Weave::Profiles::DataManagement_Current::timestamp_t
uint32_t
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
Tipo que se usa para describir la marca de tiempo UTC en milisegundos.

Variables

sInstance
sLogFileName = "topazlog"[]
char

Funciones

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)
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 preserializado.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
Registra un evento de un formulario preserializado, con opciones adicionales.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
Registra un evento mediante una devolución de llamada.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Registra un evento mediante una devolución de llamada con opciones.
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
LogFreeform emite una cadena de formato libre a la transmisión de eventos predeterminada.
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 respaldado por CircularEventBuffer.

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

Weave proporcionó una implementación de la interfaz de TraitCatalogBase para un conjunto de instancias de datos de rasgos que hacen referencia al mismo recurso.

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

Interfaz que implementará un encargado del tratamiento de datos en un objeto NotificarRequest.

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

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

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

Interfaz de un objeto de exclusión mutua.

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

Es la clase base para codificadores de mensajes WDM, especializadas en elementos de array de TLV, como listas de datos y listas de versiones.

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

Es la clase base para analizadores de mensajes WDM, especializada en elementos de array de TLV, como listas de datos y 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 básica para analizadores de mensajes 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

Este es un singleton que aloja todas las suscripciones a WDM Next, tanto del lado del cliente como del publicador.

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 esquemas toma la información del esquema asociada con una característica particular y proporciona instalaciones para analizarla y traducirla a un formato utilizable por la maquinaria WDM.

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

Es la 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 el diccionario secundario.

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

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

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

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

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

Structs

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

Búfer de eventos 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

Es la estructura que proporciona una resolución completa de la instancia de la característica.

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

Estructura interna para los eventos transitorios.

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

Estructura para copiar listas de eventos en el resultado.

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

La estructura que proporciona opciones para los diferentes campos de eventos.

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

La estructura que define un esquema para los metadatos de eventos.

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

Estructura para realizar 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

Uniones

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

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

Espacios de nombres

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

Definición de comando personalizado de WDM.

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

Definición de respuesta de comando personalizada de WDM.

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

Definición del 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 Ruta de WDM.

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

Definición de la lista de rutas 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

Etiquetas para el kNestDebug_StringLogEntryEvent.

Propiedades
kTag_Message

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

kTag_Region

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

@101

 @101

Etiquetas para el kNestDebug_TokenizedLogEntryEvent.

Propiedades
kTag_Args

Una matriz de argumentos que se enviarán junto con el mensaje del token.

kTag_Token

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

@102

 @102

Etiquetas para eventos persistentes.

@104

 @104

Tipos de mensajes del 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

Es la importancia del registro actual y el valor es del tipo ImportanceType.

kTag_ImportanceExpiration

Hora, en segundos UTC, cuando la configuración de registro elevado actual revierte a los valores predeterminados.

kTag_LoggingDestination

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

kTag_MaximumLogUploadInterval

Duración máxima, en segundos, entre los intentos de carga de registros que se activan automáticamente.

kTag_MinimumLogUploadInterval

Duración mínima, en segundos, entre los intentos de carga de registros que se activan automáticamente.

kTag_TraitLoggingImportance

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

Cada elemento del array toma una forma (perfil,ruta,loggingimportance) para elevar de manera selectiva el registro desde un subconjunto del sistema. La prioridad de registro de perfil elevada 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 capacidades de registro.

Propiedades
kTag_LogBufferingCapacity

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

kTag_LoggingVolume

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

kTag_SupportedLogTransports

Un array de mecanismos de transporte de registros compatibles.

kTag_SupportsNonVolatileStorage

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

kTag_SupportsPerTraitVerbosity

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

kTag_SupportsStreaming

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

@97

 @97

Etiquetas para los metadatos del evento.

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

Propiedades
kTag_EventData

Opcional. Los datos de eventos en sí. Si está vacío, de forma predeterminada, se usa 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

Cantidad de secuencia del evento, expresada como una cantidad sin signo de 64 bits.

Deben ser secuenciales; los saltos en la secuencia indican brechas de eventos.

kTag_EventImportance

Importancia del evento

kTag_EventResourceID

Opcional.

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

kTag_EventSource

ID de nodo del dispositivo que generó el evento.

kTag_EventSystemTimestamp

Opcional. La marca de tiempo del evento en milisegundos del sistema

kTag_EventTraitInstanceID

La instancia de la característica que generó el evento (opcional).

kTag_EventTraitProfileID

Obligatoria. Número entero de 32 bits sin firma que es igual al ProfileID del trait

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. Marca de tiempo UTC del evento en milisegundos.

kTag_ExternalEventStructure

Etiqueta interna para eventos externos. Nunca se transmite por cable y nunca se debe usar fuera de la biblioteca de Weave.

kTag_RelatedEventID

Opcional.

Es el 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.

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

@98

 @98

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

@99

 @99

Tipos de eventos para la característica de Nest Debug.

Propiedades
kNestDebug_StringLogEntryEvent

Un evento para un mensaje de depuración de cadena de formato libre.

kNestDebug_TokenizedHeaderEntryEvent

Un evento para transmitir la información del encabezado con asignación de token.

kNestDebug_TokenizedLogEntryEvent

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

CommandFlags

 CommandFlags
Propiedades
kCommandFlag_ActionTimeValid

Establece cuándo el tiempo de acción es válido.

kCommandFlag_ExpiryTimeValid

Se establece cuando la hora de vencimiento es válida.

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 la 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 realmente en el registro. Una vez que el evento se encuentra en el registro, no tomamos más medidas para eliminarlo definitivamente del registro. El nivel de importancia sirve para priorizar el almacenamiento de eventos. Si se agrega un evento de importancia alta a un búfer completo, los eventos se descartan por orden de importancia (y antigüedad) para acomodarlo. 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 entradas de registro 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 los presupuestos de ancho de banda o de energía de los dispositivos restringidos. por lo que deben usarse solo por un período limitado en los sistemas de producción.

Info

La importancia de la información denota 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 el nivel de registro predeterminado en una prueba de campo. En los dispositivos restringidos, las entradas registradas con el nivel de información deben tenerse en cuenta en el presupuesto de memoria y ancho de banda, pero no en el de energía.

Production

La importancia de la producción indica 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 deben tenerse 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 de la producción denota eventos cuya pérdida afectaría directamente las funciones para el cliente.

Las aplicaciones pueden usar la pérdida de eventos críticos de la producción para indicar fallas del sistema. En dispositivos con restricciones, las entradas registradas con importancia crítica de producción deben tenerse 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 caduque el tiempo de espera.

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 puede realizar ninguna operación de registro.

TimestampType

 TimestampType

La validez y el tipo de marca de tiempo que se incluye 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)

Función que proporciona un 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 requeridos. La función se llama con un objeto nl::Weave::TLV::TLVWriter en el que emitirá un solo elemento TLV con la etiqueta kTag_EventData. el valor de ese elemento DEBE ser una estructura que contenga los datos de eventos. Los datos del evento en sí deben estructurarse con etiquetas de contexto.

Detalles
Parámetros
[in,out] ioWriter
Una referencia al objeto nl::Weave::TLV::TLVWriter que se utilizará para la serialización de datos de eventos.
[in] inDataTag
Una etiqueta de contexto para el TLV que escribimos.
[in] appData
Un puntero para el contexto específico de una aplicación.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
other
Un error adecuado que indique al llamador que no se pudo completar la serialización de los datos de eventos. Los errores de las llamadas al ioWriter deben propagarse sin reasignación. Si la función muestra algún tipo de error, se anula la generación de eventos 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 manera similar a FetchEventsFrom, esta función de recuperación muestra todos los eventos desde EventLoadOutContext.mStartingEventID hasta ExternalEvents.mLastEventID.

El puntero de contexto es del tipo FetchExternalEventsContext. Esto incluye EventLoadOutContext, con algunas variables auxiliares para el formato del TLV. También incluye un puntero al struct ExternalEvents que se creó cuando se registró la devolución de llamada. Especifica el rango de ID del evento para la devolución de llamada.

Cuando regresas de la función, EventLoadOutContext.mCurrentEventID debe reflejar el primer ID de evento que no se escribió correctamente en el búfer TLV. La plataforma debe escribir el encabezado y los datos de los eventos en el escritor TLV en el formato correcto, especificado por el protocolo de EventLogging. La plataforma también debe mantener la exclusividad 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 y, luego, se realizará otra llamada a la devolución de llamada con el ID de evento que conserve.

Detalles
Valores de retorno
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 tiene éxito.
WEAVE_END_OF_TLV
Si tiene éxito.

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 realmente en el registro. Una vez que el evento se encuentra en el registro, no tomamos más medidas para eliminarlo definitivamente del registro. El nivel de importancia sirve para priorizar el almacenamiento de eventos. Si se agrega un evento de importancia alta a un búfer completo, los eventos se descartan por orden de importancia (y antigüedad) para acomodarlo. 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 trait.

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 del evento externo. La devolución de llamada contiene el evento del último ID que se entregó 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 una función para una devolución de llamada que se invoca cuando los eventos externos son expulsados de los búferes.

Cuando se expulse el objeto de eventos externos del búfer de mensajes salientes, el motor proporcionará una notificación al proveedor de eventos externos. 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.

Tiene dos partes:

  • Un número de 16 bits más bajo que se asigna a la parte estática del esquema.
  • Cuando los de 16 bits inferiores hacen referencia 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 de 16 bits inferiores hacen referencia a un elemento que no es de diccionario, los de 16 bits superiores deberían 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 PropertyPathHandle igualmente único.
  • Los PropertyPathHandles se generan automáticamente (por ahora, lo hace de forma manual) por un compilador de rasgos desde IDL y se representan como una lista de listas en el archivo de encabezado de la característica correspondiente.
  • Con esta construcción, la lógica de la aplicación nunca tiene que lidiar con las rutas de WDM directamente. En cambio, sus interacciones con WDM se llevan a cabo exclusivamente a través de estos identificadores.
  • Existen dos valores reservados para los controladores de ruta que tienen un significado específico:
    • 0 indica un “NULL” identificador
    • 1 indica un controlador que apunta a la raíz de la instancia de la característica.

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 que se incluye en EventOptions.

TraitDataHandle

uint16_t TraitDataHandle

duration_t

uint32_t duration_t

Tipo que se usa para describir la duración en milisegundos.

event_id_t

uint32_t event_id_t

Es el tipo de ID de evento.

timestamp_t

uint32_t timestamp_t

Tipo que se usa para describir la marca de tiempo en milisegundos.

utc_timestamp_t

uint64_t utc_timestamp_t

Tipo que se usa para describir la marca de tiempo UTC en milisegundos.

Variables

sInstance

LoggingManagement sInstance

sLogFileName

char sLogFileName[] = "topazlog"

Funciones

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
El escritor que se debe usar para escribir el evento
[in] inDataTag
Una etiqueta de contexto para el TLV que estamos copiando. No se usa aquí, pero es obligatorio para typedef para EventWriterFunct.
[in] appData
Un puntero al TLVReader que contiene datos de eventos serializados.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
other
Otros errores que el ioWriter debe mostrar.

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 es siempre la más reciente.

IsVersionNewerOrEqual

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

Buscar

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

Función de utilidad que encuentra un TraitUpdatableDataSink en un catálogo de TraitDataSink.

Detalles
Parámetros
[in] aTraitDataHandle
Es el controlador del receptor que se buscará.
[in] aDataSinkCatalog
Catálogo para buscar.
Resultado que se muestra
Un puntero para TraitUpdatableDataSink. NULL si el identificador no existe o si apunta a un TraitDataSink que no se puede actualizar

LogEvent

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

Registra un evento desde un formulario preserializado.

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 a nl::Weave::TLV::TLVReader. Se espera que nl::Weave::TLV::TLVReader contenga al menos 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 de eventos DEBEN contener etiquetas de contexto para interpretarse dentro del esquema identificado por inProfileID e inEventType. Se ignorará la etiqueta del primer elemento. el sistema de registro de eventos lo reemplazará con la etiqueta eventData.

El evento se registra si su inImportancia 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:

  • La marca de tiempo del evento indica la hora actual en el momento de la llamada.
  • el evento se marca como relacionado con el dispositivo que realiza la llamada.
  • El evento es independiente, no se relaciona con ningún otro evento.
  • el evento está marcado como no urgente

Detalles
Parámetros
[in] inSchema
El esquema define la importancia, el ID del perfil y el tipo de estructura de este evento.
[in] inData
El lector de TLV que contiene los datos de eventos como primer elemento
Resultado que se 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 de un formulario preserializado, 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 a nl::Weave::TLV::TLVReader. Se espera que nl::Weave::TLV::TLVReader contenga al menos 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 de eventos DEBEN contener etiquetas de contexto para interpretarse dentro del esquema identificado por inProfileID e inEventType. Se ignorará la etiqueta del primer elemento. el sistema de registro de eventos lo reemplazará con la etiqueta eventData.

El evento se registra si su inImportancia 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 al llamador establecer cualquier combinación de EventOptions:

  • marca de tiempo, cuando 0 se configura de forma predeterminada en la hora actual en el momento de la llamada,
  • “raíz” la sección de la fuente del evento (la fuente del evento y el 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 los IDs de eventos Cuando el ID de evento relacionado es 0, el evento se marca como no relacionado con ningún otro evento.
  • la urgencia; de forma predeterminada, no urgente.

Detalles
Parámetros
[in] inSchema
El esquema define la importancia, el ID del perfil y el tipo de estructura de este evento.
[in] inData
El lector de TLV que contiene los datos de eventos como primer elemento No debe ser NULO
[in] inOptions
Las opciones para los metadatos del evento. Puede ser NULL.
Resultado que se 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 mediante una devolución de llamada.

La función registra un evento representado como un 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 contexto inAppData para que el código de 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 de eventos DEBEN contener etiquetas de contexto para interpretarse dentro del esquema identificado por inProfileID y inEventType. Se ignorará la etiqueta del primer elemento. el sistema de registro de eventos lo reemplazará con la etiqueta eventData.

El evento se registra si su inImportancia 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:

  • La marca de tiempo del evento indica la hora actual en el momento de la llamada.
  • el evento se marca como relacionado con el dispositivo que realiza la llamada.
  • El evento es independiente, no se relaciona con ningún otro evento.
  • el evento está marcado como no urgente

Detalles
Parámetros
[in] inSchema
El esquema define la importancia, el ID del perfil y el tipo de estructura de este evento.
[in] inEventWriter
La devolución de llamada que se invocará para serializar los datos del evento
[in] inAppData
Contexto de la aplicación para la devolución de llamada
Resultado que se 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 mediante una devolución de llamada con opciones.

La función registra un evento representado como un 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 contexto inAppData para que el código de 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 de eventos DEBEN contener etiquetas de contexto para interpretarse dentro del esquema identificado por inProfileID y inEventType. Se ignorará la etiqueta del primer elemento. el sistema de registro de eventos lo reemplazará con la etiqueta eventData.

El evento se registra si su inImportancia 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 al llamador establecer cualquier combinación de EventOptions:

  • marca de tiempo, cuando 0 se configura de forma predeterminada en la hora actual en el momento de la llamada,
  • “raíz” la sección de la fuente del evento (la fuente del evento y el 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 los IDs de eventos Cuando el ID de evento relacionado es 0, el evento se marca como no relacionado con ningún otro evento.
  • la urgencia; de forma predeterminada, no urgente.

Detalles
Parámetros
[in] inSchema
El esquema define la importancia, el ID del perfil y el tipo de estructura de este evento.
[in] inEventWriter
La devolución de llamada que se invocará para serializar los datos del evento
[in] inAppData
Contexto de la aplicación para la devolución de llamada
[in] inOptions
Las opciones para los metadatos del evento. Puede ser NULL.
Resultado que se 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 a la transmisión de eventos predeterminada.

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

Detalles
Parámetros
[in] inImportance
Importancia de la entrada de registro Si la importancia es inferior a la actual, el evento en realidad no se registra.
[in] inFormat
String de formato que cumple con printf, seguida de argumentos a los que se debe dar formato
Resultado que se 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 región de registro y un texto de formato libre.

Detalles
Parámetros
[in,out] ioWriter
El 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 obligatorio para typedef para EventWriterFunct.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
other
Otros errores que el ioWriter debe mostrar.

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 región de registro y un texto de formato libre.

Detalles
Parámetros
[in,out] ioWriter
El 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 de retorno
WEAVE_NO_ERROR
Si tiene éxito.
other
Otros errores que el ioWriter puede mostrar.

operator!=

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

operador==

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