nl::Weave::Perfiles::DataManagement_Current

Este espacio de nombres incluye todas las interfaces de Weave para el perfil de administración de datos de Weave (WDM) que se admiten actualmente en la producción.

Resumen

Enumeraciones

@100{
  kTag_Region = 1,
  kTag_Message = 2
}
Enum
Etiquetas para el evento kNestDebug_StringLogEntry.
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
Enum
Etiquetas para el evento kNestDebug_TokenizedLogEntry.
@102 Enum
Etiquetas para eventos persistentes
@104 Enum
Los 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
@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 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 incluidos 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
Un prototipo de función para las devoluciones de llamada de la 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 del controlador de características.
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer) typedef
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) typedef
void(*
Un prototipo de función para una devolución de llamada invocada cuando se entregan eventos externos al suscriptor remoto.
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv) typedef
void(*
Prototipo de función para un callback invocado cuando los eventos externos son expulsados de los búferes.
PropertyDictionaryKey typedef
uint16_t
PropertyPathHandle typedef
uint32_t
PropertyPathHandle es un hash numérico único de 32 bits de una ruta de WDM en relación con la raíz de una instancia de característica.
PropertySchemaHandle typedef
uint16_t
SchemaVersion typedef
uint16_t
SingleResourceSinkTraitCatalog typedef
SingleResourceSourceTraitCatalog typedef
TimestampType typedef
La validez y el tipo de marca de tiempo incluidos en EventOptions.
TraitDataHandle typedef
uint16_t
duration_t nl::Weave::Perfiles::DataManagement_Current::duration_t
uint32_t
Tipo que se utiliza para describir la duración, en milisegundos.
event_id_t nl::Weave::Perfiles::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
Tipo que se usa para describir la marca de tiempo en milisegundos
utc_timestamp_t nl::Weave::Perfiles::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)
Una función auxiliar que traduce un elemento de datos de eventos 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 desde 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 string 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::Perfiles::DataManagement_Current::AlwaysAcceptDataElementAccessControlDelegate
nl::Weave::Perfiles::DataManagement_Current::BuilderBase

Clase base para codificadores de mensajes WDM.

nl::Weave::Perfiles::DataManagement_Current::CircularEventReader

Un TLVReader respaldado por CircularEventBuffer.

nl::Weave::Perfiles::DataManagement_Current::Comando
nl::Weave::Perfiles::DataManagement_Current::CommandSender
nl::Weave::Perfiles::DataManagement_Current::GenericTraitCatalogImpl

Weave proporcionó la implementación de la interfaz TraitCatalogBase para un conjunto de instancias de datos de características que se refieren al mismo recurso.

nl::Weave::Perfiles::DataManagement_Current::IDataElementAccessControlDelegate

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

nl::Weave::Perfiles::DataManagement_Current::IDirtyPathCut
nl::Weave::Perfiles::DataManagement_Current::IPathFilter
nl::Weave::Perfiles::DataManagement_Current::IWeavePublisherLock

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

nl::Weave::Perfiles::DataManagement_Current::IWeaveWDMMutex

Interfaz de un objeto silenciado

nl::Weave::Perfiles::DataManagement_Current::ListBuilderBase

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

nl::Weave::Perfiles::DataManagement_Current::ListParserBase

Clase base para analizadores de mensajes WDM, especializada en elementos de arreglo TLV, como listas de datos y listas de versiones.

nl::Weave::Perfiles::DataManagement_Current::LogBDXUpload
nl::Weave::Perfiles::DataManagement_Current::LoggingConfiguration

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

nl::Weave::Perfiles::DataManagement_Current::LoggingManagement

Una clase para administrar los registros de eventos en la memoria.

nl::Weave::Perfiles::DataManagement_Current::NotificationEngine
nl::Weave::Perfiles::DataManagement_Current::ParserBase

Clase base para analizadores de mensajes WDM.

nl::Weave::Perfiles::DataManagement_Current::ResourceIdentifier

Una estructura que encapsula el ID de un recurso.

nl::Weave::Perfiles::DataManagement_Current::SingleResourceTraitCatalog
nl::Weave::Perfiles::DataManagement_Current::Cliente de suscripción
nl::Weave::Perfiles::DataManagement_Current::SubscriptionEngine

Este es un singleton que aloja todas las suscripciones de WDM Next del cliente y del publicador.

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

El motor de esquemas toma información del esquema asociada con una característica en particular y proporciona las instalaciones para analizar y traducir eso en un formulario que pueda usar la máquina de WDM.

nl::Weave::Perfiles::DataManagement_Current::TraitUpdatableDataSink
nl::Weave::Perfiles::DataManagement_Current::Cliente de actualización
nl::Weave::Perfiles::DataManagement_Current::UpdateDictionaryDirtyPathCut

Clase de utilidad para volver a poner el diccionario en la lista de pendientes cuando procese la ruta de la propiedad que tiene el elemento secundario del diccionario.

nl::Weave::Perfiles::DataManagement_Current::UpdateDirtyPathFilter

Clase de utilidad para filtrar la ruta de acceso cuando se administra la notificación.

nl::Weave::Perfiles::DataManagement_Current::UpdateEncoder

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

nl::Weave::Perfiles::DataManagement_Current::ViewClient

Structs

nl::Weave::Perfiles::DataManagement_Current::CircularEventBuffer

Búfer de evento interno, compilado en función del nl::Weave::TLV::WeaveCircularTLVBuffer.

nl::Weave::Perfiles::DataManagement_Current::ConstSchemaVersionRange
nl::Weave::Perfiles::DataManagement_Current::CopyAndAdjustDeltaTimeContext

Estructura interna para recorrer la lista de eventos.

nl::Weave::Perfiles::DataManagement_Current::DebugLogContext
nl::Weave::Perfiles::DataManagement_Current::DetailedRootSection

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

nl::Weave::Perfiles::DataManagement_Current::EventEnvelopeContext

Estructura interna para desviar eventos.

nl::Weave::Perfiles::DataManagement_Current::EventLoadOutContext

Estructura para copiar listas de eventos en el resultado.

nl::Weave::Perfiles::DataManagement_Current::EventOptions

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

nl::Weave::Perfiles::DataManagement_Current::SchemaSchema

Estructura que define un esquema para los metadatos de eventos

nl::Weave::Perfiles::DataManagement_Current::ExternalEvents

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

nl::Weave::Perfiles::DataManagement_Current::LogStorageResources

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

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

Uniones

nl::Weave::Perfiles::DataManagement_Current::Marca de tiempo

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

Espacios de nombres

nl::Weave::Perfiles::DataManagement_Current::BaseMessageWithSubscribeId
nl::Weave::Perfiles::DataManagement_Current::CustomCommand

Definición de Comando personalizado de WDM

nl::Weave::Perfiles::DataManagement_Current::CustomCommandResponse

Definición de respuesta de Comando personalizada de WDM

nl::Weave::Perfiles::DataManagement_Current::DataElement

Definición del elemento de datos de WDM.

nl::Weave::Perfiles::DataManagement_Current::DataList
nl::Weave::Perfiles::DataManagement_Current::Evento
nl::Weave::Perfiles::DataManagement_Current::List de eventos
nl::Weave::Perfiles::DataManagement_Current::RequestRequest
nl::Weave::Perfiles::DataManagement_Current::Ruta

Definición de Path de WDM

nl::Weave::Perfiles::DataManagement_Current::Lista de rutas

Definición de lista de rutas de WDM.

nl::Weave::Perfiles::DataManagement_Current::Plataforma
nl::Weave::Perfiles::DataManagement_Current::RecordionRecord
nl::Weave::Perfiles::DataManagement_Current::Lista de Rechazos
nl::Weave::Perfiles::DataManagement_Current::StatusElement

Definición del elemento de estado de WDM

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

Definición de solicitud de actualización de WDM

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

Enumeraciones

100

 @100

Etiquetas para el evento kNestDebug_StringLogEntry.

Propiedades
kTag_Message

Una string que contiene el mensaje de depuración real.

kTag_Region

Un código de 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 evento kNestDebug_TokenizedLogEntry.

Propiedades
kTag_Args

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

kTag_Token

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

@102

 @102

Etiquetas para eventos persistentes

@104

 @104

Los tipos de mensajes del perfil de WDM.

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

@105

 @105

Códigos de estado específicos de WDM

@147

 @147

@95

 @95

Logging.

Propiedades
kTag_CurrentImportance

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

kTag_ImportanceExpiration

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

kTag_LoggingDestination

Una URL que indica el destino de la carga de registros.

kTag_MaximumLogUploadInterval

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

kTag_MinimumLogUploadInterval

Duración mínima, en segundos, entre los intentos de carga automática de registros.

kTag_TraitLoggingImportance

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

Cada elemento del arreglo toma una forma (profile,path,loggingimportance) para elevar de forma selectiva los registros desde un subconjunto del sistema. La prioridad de registro del perfil elevado solo es importante cuando la prioridad de registro supera la de la importación actual y está sujeta a la misma fecha de vencimiento que la actual.

@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 en kB.

kTag_LoggingVolume

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

kTag_SupportedLogTransports

Un arreglo de mecanismos de transporte de registros compatibles.

kTag_SupportsNonVolatileStorage

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

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 registros de transmisión.

@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. Datos de eventos en sí. Si está vacío, el valor predeterminado es una estructura vacía.

kTag_EventDeltaSystemTime

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

kTag_EventDeltaUTCTime

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

kTag_EventID

Número de secuencia de evento, expresado como una cantidad sin firma 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

NodeID del dispositivo que generó el evento.

kTag_EventSystemTimestamp

Opcional. Timestamp del sistema del evento en milisegundos

kTag_EventTraitInstanceID

Opcional: La instancia de la característica que generó el evento.

kTag_EventTraitProfileID

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

kTag_EventType

Obligatorio. 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 debe transmitir a través de un 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.

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 con token.

kNestDebug_TokenizedLogEntryEvent

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

Marcas de comando

 CommandFlags
Propiedades
kCommandFlag_ActionTimeValid

Se establece cuando 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 la hora de inicio es válida.

kCommandFlag_IsOneWay

Se establece cuando el comando es unidireccional.

kCommandFlag_MustBeVersionValid

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

Tipo de importación

 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 está en el registro, no tomamos ninguna otra medida para eliminarlo definitivamente. 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 edad) para adaptarse a él. Por lo tanto, los niveles de importancia solo tienen valor relativo. Si un sistema usa solo un nivel de importancia, los eventos se descartan solo por orden de antigüedad, como un búfer de anillo.

Propiedades
Debug

La importancia de 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 depuración no se tienen en cuenta en el ancho de banda o en los presupuestos de 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 entradas de registro que proporcionan estadísticas y diagnósticos adicionales en 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 ancho de banda y de memoria, pero no en el presupuesto de energía.

Production

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

En los dispositivos con restricciones, las entradas registradas con la 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 crítica de producción denota eventos cuya pérdida podría afectar directamente las funciones para el cliente.

Las aplicaciones pueden utilizar la pérdida de eventos críticos para la producción para indicar la falla del sistema. En los dispositivos con restricciones, las entradas registradas con importancia crítica para la 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.

Estados de administración de registros

 LoggingManagementStates
Propiedades
kLoggingManagementState_Holdoff

Se completó la descarga de registros. No reiniciaremos el registro hasta que caduque la retención.

kLoggingManagementState_Idle

No hay descargas 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.

Tipo de marca de tiempo

 TimestampType

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

Typedefs

Marcas de comando

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

Versión de datos

uint64_t DataVersion

EventProcessor

void * EventProcessor

EventoFundApp

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 requeridos. La función se llama con un objeto nl::Weave::TLV::TLVWriter en el que emitirá un único 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 deben estructurarse mediante etiquetas de contexto.

Detalles
Parámetros
[in,out] ioWriter
Una referencia al objeto nl::Weave::TLV::TLVWriter para usarlo en la serialización de datos de eventos.
[in] inDataTag
Una etiqueta de contexto para el TLV que estamos escribiendo.
[in] appData
Un puntero para un contexto específico de la aplicación.
Valores de retorno
WEAVE_NO_ERROR
Con éxito.
other
Un error apropiado que indica al emisor que no se pudo completar la serialización de los datos del evento. Los errores de llamadas a ioWriter se deben propagar sin reasignación. Si la función muestra cualquier tipo de error, se anula la generación del evento y no se escribe en el registro.
Consulta también:
PlainTextWriter
EventWriterTLVCopy

FetchExternalEventsFunct

WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)

Un prototipo de función para las devoluciones de llamada de la plataforma que recuperan datos de eventos.

Al igual que con FetchEventsSince, esta función fetch muestra todos los eventos de EventLoadOutContext.mStartEventID a través de ExternalEvents.mLastEventID.

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

Cuando se muestra desde 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 eventos en el escritor TLV en el formato correcto, especificado por el protocolo EventLogging. La plataforma también debe mantener la originalidad de los eventos y las marcas de tiempo.

Todos los errores TLV deben propagarse a niveles superiores. Por ejemplo, la falta de espacio en el búfer activará un mensaje enviado, seguido de otra llamada a la devolución de llamada con el ID de evento restante.

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
Con éxito.
WEAVE_END_OF_TLV
Con éxito.

Catálogo genérico de Traductor

GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog

Catálogo general de fuentes de datos

GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog

Tipo de importación

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 está en el registro, no tomamos ninguna otra medida para eliminarlo definitivamente. 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 edad) para adaptarse a él. Por lo tanto, los niveles de importancia solo tienen valor relativo. Si un sistema usa solo un nivel de importancia, los eventos se descartan solo por orden de antigüedad, como un búfer de anillo.

Devolución de llamada de Iterator

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

Iterador del controlador de características.

LoggingBufferHandler

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

Notificar eventos externos.

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

Un prototipo de función para una devolución de llamada invocada 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 que se entregó y el ID del suscriptor que recibió el evento.

Detalles
Parámetros
[in] inEv
Objeto de eventos externos correspondiente a eventos entregados
[in] inLastDeliveredEventID
ID del último evento entregado al suscriptor.
[in] inRecipientNodeID
ID de nodo de Weave del destinatario

Notificar los eventos externosexpulsados

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

Prototipo de función para un callback invocado cuando los eventos externos son expulsados de los búferes.

Cuando el objeto de eventos externos se expulsa del búfer de mensajes saliente, el motor proporcionará 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
Objetos de eventos externos que se expulsarán

Propiedad DictionaryKey

uint16_t PropertyDictionaryKey

Controlador de la propiedad

uint32_t PropertyPathHandle

PropertyPathHandle es un hash numérico único de 32 bits de una ruta de WDM en relación con la raíz de una instancia de característica.

Tiene dos partes:

  • Un número de 16 bits inferior que se asigna a la parte estática del esquema.
  • Cuando los 16 bits inferiores hacen referencia a una ruta dentro de un elemento de diccionario, hay un número de 16 bits superior que representa la clave de 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.

Algunas características:

  • Cada característica tiene su propio espacio de control de la ruta de propiedad.
  • Cada ruta de subruta de WDM única tendrá un PropertyPathHandle similar.
  • PropertyPathHandles se generan automáticamente (hecho a mano por el momento) mediante un compilador de características de IDL y se representa como una lista [{}]{}t en el archivo de encabezado de 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 realizan exclusivamente a través de estos controladores.
  • Hay dos valores reservados para los controladores de la ruta de acceso que tienen un significado específico:
    • 0 indica un 'NULL' controlador
    • 1 indica un controlador que apunta a la raíz de la instancia de característica.

Esquema de propiedad

uint16_t PropertySchemaHandle

Versión del esquema

uint16_t SchemaVersion

Catalog de recurso único de receptor

SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog

Catálogo único de recursos Trait

SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog

Tipo de marca de tiempo

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

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

TránsitoDeDatosDeTrait

uint16_t TraitDataHandle

duración_t

uint32_t duration_t

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

id_evento

uint32_t event_id_t

Es el tipo de ID del evento.

marca de tiempo_t

uint32_t timestamp_t

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

utc_marca de tiempo_t

uint64_t utc_timestamp_t

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

Variables

Instancia

LoggingManagement sInstance

NombreDeArchivoDeRegistro

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
)

BdxRechazarHandler

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
)

Una función auxiliar que traduce un elemento de datos de eventos ya serializado en el búfer de eventos.

Detalles
Parámetros
[in,out] ioWriter
El guionista que se usará para escribir el evento
[in] inDataTag
Una etiqueta de contexto para el TLV que estamos copiando. No se utiliza aquí, pero es obligatorio para typedef para EventWriterFunct.
[in] appData
Un puntero para TLVReader que contiene datos de eventos serializados.
Valores de retorno
WEAVE_NO_ERROR
Con éxito.
other
Otros errores que Mey muestra desde ioWriter

ObtenerPropiedadDictionaryKey

PropertyDictionaryKey GetPropertyDictionaryKey(
  PropertyPathHandle aHandle
)

GetPropertySchemaHandle.

PropertySchemaHandle GetPropertySchemaHandle(
  PropertyPathHandle aHandle
)

IsNullPropertyPathHandle.

bool IsNullPropertyPathHandle(
  PropertyPathHandle aHandle
)

IsRootPropertyPathHandle.

bool IsRootPropertyPathHandle(
  PropertyPathHandle aHandle
)

La versión más reciente

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

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

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

IsVersionNewerOrEqual

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

Ubicar

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
Controlador del receptor que se buscará.
[in] aDataSinkCatalog
Catálogo para buscar.
Qué muestra
Un puntero para TraitUpdatableDataSink; NULL si el controlador no existe o si apunta a un TraitDataSink no actualizable

Evento de registro

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 significa que la representación de los datos del evento ya está serializada en el almacenamiento subyacente de la interfaz nl::Weave::TLV::TLVReader. Se espera que nl::Weave::TLV::TLVReader contenga al menos un solo elemento de datos, que debe ser una estructura. El primer elemento leído del lector se trata como datos de evento y se almacena en el registro de acontecimientos. Los datos del evento DEBEN contener etiquetas de contexto que se deben interpretar dentro del esquema que se identifica con inProfileID e 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 la LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0 como 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 con la hora actual en el momento de la llamada,
  • si el evento está marcado como relacionado con el dispositivo que realiza la llamada
  • El evento es independiente y no se relaciona con ningún otro.
  • el evento está marcado 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 El ID del evento si el evento se escribió en el registro; de lo contrario, es 0.

Evento de registro

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

Registra un evento desde un formulario preserializado con opciones adicionales.

La función registra un evento representado como nl::Weave::TLV::TLVReader. Esto significa que la representación de los datos del evento ya está serializada en el almacenamiento subyacente de la interfaz nl::Weave::TLV::TLVReader. Se espera que nl::Weave::TLV::TLVReader contenga al menos un solo elemento de datos, que debe ser una estructura. El primer elemento leído del lector se trata como datos de evento y se almacena en el registro de acontecimientos. Los datos del evento DEBEN contener etiquetas de contexto que se deben interpretar dentro del esquema que se identifica con inProfileID e 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 la LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0 como ID del evento resultante.

Esta variante de la invocación permite al emisor configurar cualquier combinación de EventOptions:

  • marca de tiempo, cuando 0 es la hora actual predeterminada en el punto de la llamada,
  • "root" de la fuente del evento (fuente del evento e ID de característica); si es NULO, se establece de forma predeterminada en el dispositivo actual. El evento se marca como relacionado con el dispositivo que realiza la llamada.
  • un ID de evento relacionado para agrupar los ID de evento; cuando el ID de evento relacionado es 0, el evento se marca como no relacionado con ningún otro evento
  • urgencia; de manera 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 para los metadatos del evento. Puede ser NULO.
Qué muestra
event_id_t El ID del evento si el evento se escribió en el registro; de lo contrario, es 0.

Evento de registro

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 un contexto inAppData para que el código del usuario pueda emitir los datos del evento directamente en el registro de acontecimientos. 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 que se deben interpretar dentro del esquema que identifican 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 la LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0 como 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 con la hora actual en el momento de la llamada,
  • si el evento está marcado como relacionado con el dispositivo que realiza la llamada
  • El evento es independiente y no se relaciona con ningún otro.
  • el evento está marcado 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
La devolución de llamada que se invoca para serializar los datos de eventos
[in] inAppData
Contexto de la aplicación para la devolución de llamada.
Qué muestra
event_id_t El ID del evento si el evento se escribió en el registro; de lo contrario, es 0.

Evento de registro

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 un contexto inAppData para que el código del usuario pueda emitir los datos del evento directamente en el registro de acontecimientos. 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 que se deben interpretar dentro del esquema que identifican 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 la LoggingConfiguration. Si la importancia del evento no cumple con el umbral actual, se descarta y la función muestra un 0 como ID del evento resultante.

Esta variante de la invocación permite al emisor configurar cualquier combinación de EventOptions:

  • marca de tiempo, cuando 0 es la hora actual predeterminada en el punto de la llamada,
  • "root" de la fuente del evento (fuente del evento e ID de característica); si es NULO, se establece de forma predeterminada en el dispositivo actual. El evento se marca como relacionado con el dispositivo que realiza la llamada.
  • un ID de evento relacionado para agrupar los ID de evento; cuando el ID de evento relacionado es 0, el evento se marca como no relacionado con ningún otro evento
  • urgencia; de manera 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
La devolución de llamada que se invoca para serializar los datos de eventos
[in] inAppData
Contexto de la aplicación para la devolución de llamada.
[in] inOptions
Las opciones para los metadatos del evento. Puede ser NULO.
Qué muestra
event_id_t 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 string de formato libre a la transmisión de eventos predeterminada.

La string se encapsulará en una estructura de evento de depuración y tendrá la misma estructura que otras strings registradas. El ID de perfil de evento será el de un evento de depuración de Nest y el tipo de evento será kNestDebug_StringLogEntryEvent.

Detalles
Parámetros
[in] inImportance
Importancia de la entrada de registro; si la importancia cae por debajo de la importancia actual, el evento no se registra
[in] inFormat
String de formato compatible con printf, seguida de argumentos a los que se les debe dar formato
Qué muestra
event_id_t El ID del evento si el evento se escribió en el registro; de lo contrario, es 0.

Buscar elemento con etiqueta

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

Escritor de texto sin formato

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 guionista que se 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 estamos escribiendo. No se utiliza aquí, pero es obligatorio para typedef para EventWriterFunct.
Valores de retorno
WEAVE_NO_ERROR
Con éxito.
other
Otros errores que Mey muestra desde ioWriter

Escritor de texto sin formato

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 guionista que se 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
Con éxito.
other
Otros errores que se pueden mostrar desde ioWriter

!=

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

operador==

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