nl::Weave::Profiles::DataManagement_Current

Questo spazio dei nomi include tutte le interfacce all'interno di Weave per il profilo Weave Data Management (WDM) attualmente supportate per l'uso in produzione.

Riepilogo

Enumerazioni

@100{
  kTag_Region = 1,
  kTag_Message = 2
}
enum
Tag per kNestDebug_StringLogEntryEvent.
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
enum
Tag per kNestDebug_TokenizedLogEntryEvent.
@102 enum
Tag per eventi persistenti.
@104 enum
I tipi di messaggi del profilo WDM.
@105 enum
Codici di stato specifici del WDM.
@147 enum
@95{
  kTag_CurrentImportance = 1,
  kTag_ImportanceExpiration,
  kTag_MinimumLogUploadInterval,
  kTag_MaximumLogUploadInterval,
  kTag_LoggingDestination,
  kTag_TraitLoggingImportance
}
enum
Tag delle impostazioni di Logging.
@96{
  kTag_SupportedLogTransports = 1,
  kTag_SupportsStreaming = 2,
  kTag_SupportsNonVolatileStorage = 3,
  kTag_SupportsPerTraitVerbosity = 4,
  kTag_LoggingVolume = 5,
  kTag_LogBufferingCapacity = 6
}
enum
Tag per le funzionalità di logging.
@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
Tag per i metadati degli eventi.
@98 enum
Definizioni del profilo per il tratto di debug.
@99{
  kNestDebug_StringLogEntryEvent = 1,
  kNestDebug_TokenizedLogEntryEvent = 2,
  kNestDebug_TokenizedHeaderEntryEvent = 3
}
enum
Tipi di evento per il tratto di debug 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
L'importanza della voce di log.
LoggingManagementStates{
  kLoggingManagementState_Idle = 1,
  kLoggingManagementState_InProgress = 2,
  kLoggingManagementState_Holdoff = 3,
  kLoggingManagementState_Shutdown = 4
}
enum
TimestampType enum
La validità e il tipo di timestamp inclusi in EventOptions.

Typedef

CommandFlags typedef
DataVersion typedef
uint64_t
EventProcessor typedef
void *
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData) typedef
Una funzione che fornisce l'elemento eventData per il sottosistema di logging degli eventi.
FetchExternalEventsFunct)(EventLoadOutContext *aContext) typedef
Un prototipo di funzione per i callback della piattaforma che recuperano i dati sugli eventi.
GenericTraitSinkCatalog typedef
GenericTraitSourceCatalog typedef
ImportanceType typedef
L'importanza della voce di log.
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext) typedef
void(*
Iterator dell'handle di tratto.
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer) typedef
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) typedef
void(*
Un prototipo di funzione per un callback richiamato quando vengono inviati eventi esterni all'abbonato remoto.
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv) typedef
void(*
Un prototipo di funzione per un callback richiamato quando gli eventi esterni vengono eliminati dai buffer.
PropertyDictionaryKey typedef
uint16_t
PropertyPathHandle typedef
uint32_t
Un PropertyPathHandle è un hash numerico univoco a 32 bit di un percorso WDM relativo alla radice di un'istanza trait.
PropertySchemaHandle typedef
uint16_t
SchemaVersion typedef
uint16_t
SingleResourceSinkTraitCatalog typedef
SingleResourceSourceTraitCatalog typedef
TimestampType typedef
La validità e il tipo di timestamp inclusi in EventOptions.
TraitDataHandle typedef
uint16_t
duration_t nl::Weave::Profiles::DataManagement_Current::duration_t
uint32_t
Tipo utilizzato per descrivere la durata, in millisecondi.
event_id_t nl::Weave::Profiles::DataManagement_Current::event_id_t
uint32_t
Il tipo di ID evento.
timestamp_t nl::Weave::Profiles::DataManagement_Current::timestamp_t
uint32_t
Tipo utilizzato per descrivere il timestamp in millisecondi.
utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::utc_timestamp_t
uint64_t
Tipo utilizzato per descrivere il timestamp UTC in millisecondi.

Variabili

sInstance
sLogFileName = "topazlog"[]
char

Funzioni

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 funzione helper che traduce un elemento eventdata già serializzato nel buffer degli eventi.
GetPropertyDictionaryKey(PropertyPathHandle aHandle)
PropertyDictionaryKey
GetPropertySchemaHandle(PropertyPathHandle aHandle)
PropertySchemaHandle
IsNullPropertyPathHandle(PropertyPathHandle aHandle)
bool
IsRootPropertyPathHandle(PropertyPathHandle aHandle)
bool
IsVersionNewer(const DataVersion & aVersion, const DataVersion & aReference)
bool
Si tratta di un'implementazione ottimizzata dell'algoritmo per confrontare le versioni.
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
bool
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
Funzione di utilità che trova un TraitUpdatableDataSink in un catalogo TraitDataSink.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
Registra un evento da un modulo pre-serializzato.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
Registra un evento da un modulo pre-serializzato, con opzioni aggiuntive.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
Registra un evento tramite callback.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Registra un evento tramite callback, con opzioni.
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
LogFreeform emette una stringa in formato libero nel flusso di eventi predefinito.
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 funzione helper per l'emissione di un testo in formato libero come evento di debug.
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
Una funzione helper per l'emissione di un testo in formato libero come evento di debug.
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool

Corsi

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

Classe di base per i codificatori dei messaggi WDM.

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

Un TLVReader supportato da CircularEventBuffer.

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

Weave ha fornito l'implementazione dell'interfaccia TraitCatalogBase per una raccolta di istanze di dati trait che fanno tutte riferimento alla stessa risorsa.

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

Interfaccia che deve essere implementata da un responsabile del trattamento degli elementi di dati in una NotifyRequest.

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

Interfaccia che deve essere implementata tramite un'app per serializzare l'accesso alle strutture chiave dei dati WDM.

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

Interfaccia di un oggetto mutex.

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

Classe di base per i codificatori di messaggi WDM, specializzata in elementi di array TLV come elenchi di dati ed elenchi di versioni.

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

Classe di base per i parser dei messaggi WDM, specializzata in elementi di array TLV come elenchi di dati ed elenchi di versioni.

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

LoggingConfiguration incapsula il componente configurabile del sottosistema Logging degli eventi Weave.

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

Una classe per la gestione dei log eventi in memoria.

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

Classe di base per i parser dei messaggi WDM.

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

Una struttura che incapsula l'ID di una risorsa.

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

Si tratta di un singleton che ospita tutti gli abbonamenti a WDM Next, sia lato client che lato publisher.

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

Il motore schema acquisisce le informazioni sullo schema associate a un determinato tratto e fornisce strutture per analizzarle e tradurle in un modulo utilizzabile dal macchinario WDM.

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

Classe di utilità per riportare il dizionario nella coda in attesa durante l'elaborazione del percorso della proprietà con l'elemento secondario del dizionario.

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

Classe di utilità per filtrare il percorso durante la gestione delle notifiche.

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

Questo oggetto codifica i payload UpdateRequest e PartialUpdateRequest di WDM.

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

Structs

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

Buffer di eventi interno, creato attorno a nl::Weave::TLV::WeaveCircularTLVBuffer.

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

Struttura interna per il trasferimento di elenchi di eventi.

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

La struttura che fornisce una risoluzione completa dell'istanza trait.

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

Struttura interna per il trasferimento di eventi.

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

Struttura per la copia degli elenchi di eventi nell'output.

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

La struttura che fornisce opzioni per i diversi campi dell'evento.

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

La struttura che definisce uno schema per i metadati degli eventi.

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

Struttura per il monitoraggio degli eventi archiviati sulla piattaforma.

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

Una classe helper utilizzata per inizializzare la gestione dei log.

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

Sindacati

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

L'unione che fornisce un sistema di set di applicazioni o un timestamp UTC.

Spazi dei nomi

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

Definizione del comando personalizzato WDM.

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

Definizione di risposta comando personalizzata WDM.

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

Definizione di elemento dati 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

Definizione del percorso WDM.

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

Definizione dell'elenco di percorso 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

Definizione di WDM Status Element.

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

Definizione della richiesta di aggiornamento 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

Enumerazioni

@100

 @100

Tag per kNestDebug_StringLogEntryEvent.

Proprietà
kTag_Message

Una stringa contenente l'effettivo messaggio di debug.

kTag_Region

Una firma a 32 bit non firmata che indica la regione del log, ovvero il modulo a cui appartiene il messaggio di log.

@101

 @101

Tag per kNestDebug_TokenizedLogEntryEvent.

Proprietà
kTag_Args

Un array di argomenti da inviare insieme al messaggio token.

kTag_Token

Un valore non firmato a 32 bit corrispondente al token.

@102

 @102

Tag per eventi persistenti.

@104

 @104

I tipi di messaggi del profilo WDM.

Questi valori vengono richiamati nella specifica di gestione dei dati.

@105

 @105

Codici di stato specifici del WDM.

@147

 @147

@95

 @95

Tag delle impostazioni di Logging.

Proprietà
kTag_CurrentImportance

Importanza del logging attuale, il valore è di tipo ImportanceType.

kTag_ImportanceExpiration

Ora, in secondi UTC, in cui le impostazioni di logging elevato attuali vengono ripristinate ai valori predefiniti.

kTag_LoggingDestination

Un URL che indica la destinazione del caricamento del log.

kTag_MaximumLogUploadInterval

Durata massima, in secondi, tra i tentativi di caricamento dei log attivati automaticamente.

kTag_MinimumLogUploadInterval

Durata minima, in secondi, tra i tentativi di caricamento dei log attivati automaticamente.

kTag_TraitLoggingImportance

Un array facoltativo che mappa selettivamente i profili scelti ai livelli di logging più elevati.

Ogni elemento dell'array assume una forma (profilo,percorso,importanza di logging) per elevare selettivamente il logging da un sottoinsieme del sistema. La priorità di logging del profilo elevata è significativa solo quando la priorità di logging supera quella di currentImportance ed è soggetta alla stessa ora di scadenza di currentImportance.

@96

 @96

Tag per le funzionalità di logging.

Proprietà
kTag_LogBufferingCapacity

Un numero intero senza segno a 32 bit che descrive la capacità di buffering dei log in kB.

kTag_LoggingVolume

Un numero intero senza segno a 32 bit che descrive il volume di logging previsto in kB/giorno.

kTag_SupportedLogTransports

Una serie di meccanismi di trasporto dei log supportati.

kTag_SupportsNonVolatileStorage

Un valore booleano che indica se il dispositivo supporta l'archiviazione permanente dei log.

kTag_SupportsPerTraitVerbosity

Un valore booleano che indica se il dispositivo supporta le impostazioni di dettaglio per argomento.

kTag_SupportsStreaming

Un valore booleano che indica se il dispositivo supporta i flussi di log.

@97

 @97

Tag per i metadati degli eventi.

Per la semantica completa dei valori dei tag, consulta la specifica Event Design.

Proprietà
kTag_EventData

(Facoltativo) i dati sugli eventi stessi. Se vuoto, viene usata per impostazione predefinita una struttura vuota.

kTag_EventDeltaSystemTime

tag interno WDM, differenza di tempo rispetto all'evento precedente nella codifica.

kTag_EventDeltaUTCTime

tag interno WDM, differenza di tempo rispetto all'evento precedente nella codifica.

kTag_EventID

Numero di eventi di sequenza, espresso come quantità senza firma a 64 bit.

Deve essere sequenziale, i salti nella sequenza indicano intervalli vuoti.

kTag_EventImportance

Importanza dell'evento.

kTag_EventResourceID

(Facoltativo)

Il valore è l'ID della risorsa a cui appartiene l'evento. Se omesso, il valore corrisponde a quello di kTag_EventSource

kTag_EventSource

NodeID del dispositivo che ha generato l'evento.

kTag_EventSystemTimestamp

(Facoltativo) Timestamp di sistema dell'evento in millisecondi.

kTag_EventTraitInstanceID

(Facoltativo) L'istanza del trait che ha generato l'evento.

kTag_EventTraitProfileID

Obbligatorio. Numero intero senza segno a 32 bit uguale al ProfileID del trait.

kTag_EventType

Obbligatorio. Numero intero senza segno a 16 bit uguale a wdl.event.id per questo tipo di evento.

kTag_EventUTCTimestamp

(Facoltativo) Timestamp UTC dell'evento in millisecondi.

kTag_ExternalEventStructure

Tag interno per eventi esterni. I cavi non vengono mai trasmessi tramite cavo e non devono mai essere utilizzati al di fuori della libreria Weave.

kTag_RelatedEventID

(Facoltativo)

ID di un evento a cui è correlato l'evento. Se omesso, il valore è uguale al valore di kTag_EventID.

kTag_RelatedEventImportance

(Facoltativo)

Importanza dell'evento correlato. Se omesso, il valore è uguale al valore di kTag_EventImportance.

@98

 @98

Definizioni del profilo per il tratto di debug.

@99

 @99

Tipi di evento per il tratto di debug Nest.

Proprietà
kNestDebug_StringLogEntryEvent

Un evento per il messaggio di debug della stringa in formato libero.

kNestDebug_TokenizedHeaderEntryEvent

Un evento per trasmettere le informazioni dell'intestazione tokenizzata.

kNestDebug_TokenizedLogEntryEvent

Un evento per il messaggio di debug tokenizzato.

CommandFlags

 CommandFlags
Proprietà
kCommandFlag_ActionTimeValid

Imposta quando la data e l'ora dell'azione è valida.

kCommandFlag_ExpiryTimeValid

Imposta quando la data di scadenza è valida.

kCommandFlag_InitiationTimeValid

Imposta quando il tempo di init è valido.

kCommandFlag_IsOneWay

Impostato quando il comando è unidirezionale.

kCommandFlag_MustBeVersionValid

Imposta il momento in cui il campo della versione è valido.

ImportanceType

 ImportanceType

L'importanza della voce di log.

L'importanza viene utilizzata per filtrare gli eventi prima che vengano effettivamente emessi nel log. Una volta che l'evento è stato registrato nel log, non prendiamo ulteriori disposizioni per eliminarlo dal log. Il livello di importanza serve a dare la priorità all'archiviazione degli eventi. Se un evento di importanza elevata viene aggiunto a un buffer completo, gli eventi vengono eliminati in ordine di importanza (ed età) per ospitarlo. Di conseguenza, i livelli di importanza hanno solo un valore relativo. Se un sistema utilizza un solo livello di importanza, gli eventi vengono eliminati solo in ordine di età, come un buffer ad anello.

Proprietà
Debug

L'importanza del debug indica le voci di log di interesse per gli sviluppatori del sistema e viene utilizzata principalmente nella fase di sviluppo.

I log dell'importanza del debug non vengono inclusi nei budget per l'utilizzo di larghezza di banda o di energia dei dispositivi vincolati. di conseguenza devono essere utilizzate solo per un periodo di tempo limitato nei sistemi di produzione.

Info

L'importanza delle informazioni indica le voci di log che forniscono ulteriori informazioni e diagnostica del sistema in esecuzione.

Il livello di registrazione delle informazioni può essere utilizzato per un periodo di tempo prolungato in un sistema di produzione oppure come livello di log predefinito in una prova sul campo. Sui dispositivi vincolati, le voci registrate con Livello informativo devono essere considerate nella larghezza di banda e nel budget di memoria, ma non nel budget per l'alimentazione.

Production

L'importanza della produzione indica le voci di registro utilizzate nel monitoraggio e nella manutenzione continui dell'ecosistema Nest.

Sui dispositivi con vincoli, le voci registrate con importanza della produzione devono essere considerate nel budget di potenza e memoria, in quanto ci si aspetta che vengano sempre registrate e scaricate dal dispositivo.

ProductionCritical

L’importanza critica della produzione indica gli eventi la cui perdita avrebbe un impatto diretto sulle funzionalità rivolte al cliente.

Le applicazioni potrebbero utilizzare la perdita di eventi critici per la produzione per indicare un guasto del sistema. Sui dispositivi con vincoli, le voci registrate con l'importanza Critica per la produzione devono essere considerate nel budget di alimentazione e memoria, in quanto ci si aspetta che vengano sempre registrate e scaricate dal dispositivo.

LoggingManagementStates

 LoggingManagementStates
Proprietà
kLoggingManagementState_Holdoff

L'offload del log è stato completato. non riavviiamo il log fino alla scadenza dell'attesa.

kLoggingManagementState_Idle

Nessun offload dei log in corso, l'offload dei log può iniziare senza vincoli.

kLoggingManagementState_InProgress

Download del log in corso.

kLoggingManagementState_Shutdown

Non in grado di eseguire alcuna operazione di logging.

TimestampType

 TimestampType

La validità e il tipo di timestamp inclusi in EventOptions.

Typedef

CommandFlags

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

DataVersion

uint64_t DataVersion

EventProcessor

void * EventProcessor

EventWriterFunct

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

Una funzione che fornisce l'elemento eventData per il sottosistema di logging degli eventi.

Le funzioni di questo tipo dovrebbero fornire l'elemento eventData per il sottosistema di logging eventi. Le funzioni di questo tipo vengono richiamate dopo che il sottosistema degli eventi ha generato tutti i metadati evento richiesti. La funzione viene chiamata con un oggetto nl::Weave::TLV::TLVWriter in cui emetterà un singolo elemento TLV con tag kTag_EventData; il valore di quell'elemento DEVE essere una struttura contenente i dati sugli eventi. Gli stessi dati sugli eventi devono essere strutturati utilizzando tag di contesto.

Dettagli
Parametri
[in,out] ioWriter
Un riferimento all'oggetto nl::Weave::TLV::TLVWriter da utilizzare per la serializzazione dei dati sugli eventi.
[in] inDataTag
Un tag di contesto per la TLV che stiamo scrivendo.
[in] appData
Un puntatore al contesto specifico di un'applicazione.
Valori restituiti
WEAVE_NO_ERROR
Un successo.
other
Un errore appropriato che segnala al chiamante che non è stato possibile completare la serializzazione dei dati degli eventi. Gli errori delle chiamate a ioWriter devono essere propagati senza rimappatura. Se la funzione restituisce un qualsiasi tipo di errore, la generazione dell'evento viene interrotta e l'evento non viene scritto nel log.
Vedi anche:
PlainTextWriter
EventWriterTLVCopy

FetchExternalEventsFunct

WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)

Un prototipo di funzione per i callback della piattaforma che recuperano i dati sugli eventi.

Analogamente a FetchEventsFrom, questa funzione di recupero restituisce tutti gli eventi da EventLoadOutContext.mStartingEventID tramite ExternalEvents.mLastEventID.

Il puntatore al contesto è di tipo FetchExternalEventsContext. Questo include EventLoadOutContext, con alcune variabili helper per il formato TLV. Include inoltre un puntatore allo struct ExternalEvents creato al momento della registrazione del callback. Specifica l'intervallo di ID evento per il callback.

Al ritorno dalla funzione, EventLoadOutContext.mCurrentEventID dovrebbe riflettere il primo ID evento che non è stato scritto correttamente nel buffer TLV. La piattaforma deve scrivere l'intestazione e i dati degli eventi nel writer di TLV nel formato corretto, specificato dal protocollo EventLogging. La piattaforma deve inoltre mantenere l'unicità degli eventi e dei timestamp.

Tutti gli errori TLV devono essere propagati a livelli superiori. Ad esempio, l'esaurimento dello spazio nel buffer attiva un messaggio inviato, seguito da un'altra chiamata al callback con l'ID evento rimasto.

Dettagli
Valori restituiti
WEAVE_ERROR_NO_MEMORY
Se non c'è spazio per scrivere gli eventi.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se non c'è spazio per scrivere gli eventi.
WEAVE_NO_ERROR
Un successo.
WEAVE_END_OF_TLV
Un successo.

GenericTraitSinkCatalog

GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog

GenericTraitSourceCatalog

GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog

ImportanceType

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

L'importanza della voce di log.

L'importanza viene utilizzata per filtrare gli eventi prima che vengano effettivamente emessi nel log. Una volta che l'evento è stato registrato nel log, non prendiamo ulteriori disposizioni per eliminarlo dal log. Il livello di importanza serve a dare la priorità all'archiviazione degli eventi. Se un evento di importanza elevata viene aggiunto a un buffer completo, gli eventi vengono eliminati in ordine di importanza (ed età) per ospitarlo. Di conseguenza, i livelli di importanza hanno solo un valore relativo. Se un sistema utilizza un solo livello di importanza, gli eventi vengono eliminati solo in ordine di età, come un buffer ad anello.

IteratorCallback

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

Iterator dell'handle di tratto.

LoggingBufferHandler

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

NotifyExternalEventsDeliveredFunct

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

Un prototipo di funzione per un callback richiamato quando vengono inviati eventi esterni all'abbonato remoto.

Quando gli eventi esterni vengono inviati a un sottoscrittore remoto, il motore invia una notifica al fornitore di eventi esterno. Il callback contiene l'evento dell'ultimo ID pubblicato e l'ID del sottoscrittore che ha ricevuto l'evento.

Dettagli
Parametri
[in] inEv
Oggetto eventi esterni corrispondente agli eventi pubblicati
[in] inLastDeliveredEventID
ID dell'ultimo evento consegnato al sottoscrittore.
[in] inRecipientNodeID
ID nodo Weave del destinatario

NotifyExternalEventsEvictedFunct

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

Un prototipo di funzione per un callback richiamato quando gli eventi esterni vengono eliminati dai buffer.

Quando l'oggetto eventi esterni viene rimosso dal buffer dei messaggi in uscita, il motore invia una notifica al fornitore di eventi esterno. Il callback contiene l'evento esterno da rimuovere.

Dettagli
Parametri
[in] inEv
Oggetto eventi esterni da rimuovere

PropertyDictionaryKey

uint16_t PropertyDictionaryKey

PropertyPathHandle

uint32_t PropertyPathHandle

Un PropertyPathHandle è un hash numerico univoco a 32 bit di un percorso WDM relativo alla radice di un'istanza trait.

È formato da due parti:

  • Un numero a 16 bit inferiore che viene mappato alla parte statica dello schema.
  • Dove i 16 bit inferiori fanno riferimento a un percorso all'interno di un elemento del dizionario, è presente un numero superiore a 16 bit che rappresenta la chiave del dizionario associata all'elemento. Se i 16 bit inferiori si riferiscono a un elemento non dizionario, i 16 bit superiori devono essere 0.

Alcune caratteristiche:

  • Ogni tratto ha il proprio spazio di gestione del percorso proprietà.
  • Ogni percorso secondario WDM univoco avrà un oggetto PropertyPathHandle univoco simile.
  • I valori PropertyPathHandles vengono generati automaticamente (per il momento manualmente) da un compilatore di trait di IDL e sono rappresentati come un elenco enumerante nel file di intestazione del trait corrispondente.
  • Con questo costrutto, la logica dell'applicazione non deve mai avere a che fare direttamente con i percorsi WDM. Le interazioni con WDM vengono invece condotte esclusivamente tramite questi handle.
  • Esistono due valori riservati per gli handle del percorso che hanno un significato specifico:
    • 0 indica "NULL" punto di manipolazione
    • 1 indica un handle che punta alla radice dell'istanza trait.

PropertySchemaHandle

uint16_t PropertySchemaHandle

SchemaVersion

uint16_t SchemaVersion

SingleResourceSinkTraitCatalog

SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog

SingleResourceSourceTraitCatalog

SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog

TimestampType

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

La validità e il tipo di timestamp inclusi in EventOptions.

TraitDataHandle

uint16_t TraitDataHandle

duration_t

uint32_t duration_t

Tipo utilizzato per descrivere la durata, in millisecondi.

event_id_t

uint32_t event_id_t

Il tipo di ID evento.

timestamp_t

uint32_t timestamp_t

Tipo utilizzato per descrivere il timestamp in millisecondi.

utc_timestamp_t

uint64_t utc_timestamp_t

Tipo utilizzato per descrivere il timestamp UTC in millisecondi.

Variabili

sInstance

LoggingManagement sInstance

sLogFileName

char sLogFileName[] = "topazlog"

Funzioni

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
)

Una funzione helper che traduce un elemento eventdata già serializzato nel buffer degli eventi.

Dettagli
Parametri
[in,out] ioWriter
L'autore dell'evento da utilizzare
[in] inDataTag
Un tag di contesto per la TLV che stiamo copiando. Non utilizzato qui, ma richiesto da typedef per EventWriterFunct.
[in] appData
Un puntatore al TLVReader che contiene i dati degli eventi serializzati.
Valori restituiti
WEAVE_NO_ERROR
Un successo.
other
Altri errori che possono essere restituiti da ioWriter.

GetPropertyDictionaryKey

PropertyDictionaryKey GetPropertyDictionaryKey(
  PropertyPathHandle aHandle
)

GetPropertySchemaHandle

PropertySchemaHandle GetPropertySchemaHandle(
  PropertyPathHandle aHandle
)

IsNullPropertyPathHandle

bool IsNullPropertyPathHandle(
  PropertyPathHandle aHandle
)

IsRootPropertyPathHandle

bool IsRootPropertyPathHandle(
  PropertyPathHandle aHandle
)

IsVersionNewer

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

Si tratta di un'implementazione ottimizzata dell'algoritmo per confrontare le versioni.

Sul lato client, una versione ricevuta dal servizio è sempre quella più recente.

IsVersionNewerOrEqual

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

Localizza

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

Funzione di utilità che trova un TraitUpdatableDataSink in un catalogo TraitDataSink.

Dettagli
Parametri
[in] aTraitDataHandle
Handle del sink per eseguire la ricerca.
[in] aDataSinkCatalog
Catalogo per le ricerche.
Restituisce
Un puntatore a TraitUpdatableDataSink; NULL se l'handle non esiste o punta a un TraitDataSink non aggiornabile.

LogEvent

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

Registra un evento da un modulo pre-serializzato.

La funzione registra un evento rappresentato come nl::Weave::TLV::TLVReader. Ciò implica che la rappresentazione dei dati sugli eventi è già serializzata nello spazio di archiviazione sottostante nl::Weave::TLV::TLVReader. nl::Weave::TLV::TLVReader deve contenere almeno un singolo elemento di dati, che deve essere una struttura. Il primo elemento letto ad alta voce dal lettore viene trattato come dati di eventi e archiviato nel log eventi. I dati dell'evento DEVONO contenere tag di contesto da interpretare all'interno dello schema identificato da inProfileID e inEventType. Il tag del primo elemento verrà ignorato; il sistema di logging eventi lo sostituirà con il tag eventData.

L'evento viene registrato se il valore inImportance supera la soglia di logging specificata in LoggingConfiguration. Se l'importanza dell'evento non soddisfa la soglia attuale, l'evento viene eliminato e la funzione restituisce 0 come ID evento risultante.

Questa variante della chiamata specifica implicitamente tutte le opzioni di evento predefinite:

  • l'evento ha il timestamp con l'ora corrente nel punto della chiamata,
  • l'evento è contrassegnato come relativo al dispositivo che effettua la chiamata,
  • l'evento è a sé stante, non correlato ad altri eventi,
  • l'evento è contrassegnato come non urgente,

Dettagli
Parametri
[in] inSchema
Schema che definisce l'importanza, l'ID profilo e il tipo di struttura dell'evento.
[in] inData
Il lettore TLV che contiene i dati sugli eventi come primo elemento.
Restituisce
event_id_t L'ID evento se l'evento è stato scritto nel log, altrimenti è 0.

LogEvent

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

Registra un evento da un modulo pre-serializzato, con opzioni aggiuntive.

La funzione registra un evento rappresentato come nl::Weave::TLV::TLVReader. Ciò implica che la rappresentazione dei dati sugli eventi è già serializzata nello spazio di archiviazione sottostante nl::Weave::TLV::TLVReader. nl::Weave::TLV::TLVReader deve contenere almeno un singolo elemento di dati, che deve essere una struttura. Il primo elemento letto ad alta voce dal lettore viene trattato come dati di eventi e archiviato nel log eventi. I dati dell'evento DEVONO contenere tag di contesto da interpretare all'interno dello schema identificato da inProfileID e inEventType. Il tag del primo elemento verrà ignorato; il sistema di logging eventi lo sostituirà con il tag eventData.

L'evento viene registrato se il valore inImportance supera la soglia di logging specificata in LoggingConfiguration. Se l'importanza dell'evento non soddisfa la soglia attuale, l'evento viene eliminato e la funzione restituisce 0 come ID evento risultante.

Questa variante della chiamata consente al chiamante di impostare qualsiasi combinazione di EventOptions:

  • Timestamp, quando il valore predefinito di 0 corrisponde all'ora corrente al momento della chiamata,
  • "radice" sezione dell'origine evento (origine evento e ID trait); se NULL, il valore predefinito sarà il dispositivo attuale. l'evento è contrassegnato come relativo al dispositivo che effettua la chiamata,
  • un ID evento correlato per raggruppare gli ID evento; Quando l'ID evento correlato è 0, l'evento viene contrassegnato come non correlato ad altri eventi.
  • urgenza; non urgente per impostazione predefinita.

Dettagli
Parametri
[in] inSchema
Schema che definisce l'importanza, l'ID profilo e il tipo di struttura dell'evento.
[in] inData
Il lettore TLV che contiene i dati sugli eventi come primo elemento. Non deve essere NULL
[in] inOptions
Le opzioni per i metadati dell'evento. Potrebbe essere NULL.
Restituisce
event_id_t L'ID evento se l'evento è stato scritto nel log, altrimenti è 0.

LogEvent

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

Registra un evento tramite callback.

La funzione registra un evento rappresentato come EventWriterFunct e un contesto appData specifico dell'app. La funzione scrive i metadati dell'evento e chiama inEventWriter con un riferimento nl::Weave::TLV::TLVWriter e un contesto inAppData in modo che il codice utente possa inviare i dati sull'evento direttamente nel log eventi. Questo tipo di logging eventi riduce al minimo il consumo di memoria, poiché i dati degli eventi vengono serializzati direttamente nel buffer di destinazione. I dati sull'evento DEVONO contenere tag di contesto da interpretare all'interno dello schema identificato da inProfileID e inEventType. Il tag del primo elemento verrà ignorato; il sistema di logging eventi lo sostituirà con il tag eventData.

L'evento viene registrato se il valore inImportance supera la soglia di logging specificata in LoggingConfiguration. Se l'importanza dell'evento non soddisfa la soglia attuale, l'evento viene eliminato e la funzione restituisce 0 come ID evento risultante.

Questa variante della chiamata specifica implicitamente tutte le opzioni di evento predefinite:

  • l'evento ha il timestamp con l'ora corrente nel punto della chiamata,
  • l'evento è contrassegnato come relativo al dispositivo che effettua la chiamata,
  • l'evento è a sé stante, non correlato ad altri eventi,
  • l'evento è contrassegnato come non urgente,

Dettagli
Parametri
[in] inSchema
Schema che definisce l'importanza, l'ID profilo e il tipo di struttura dell'evento.
[in] inEventWriter
Il callback da richiamare per serializzare effettivamente i dati degli eventi
[in] inAppData
Contesto dell'applicazione per il callback.
Restituisce
event_id_t L'ID evento se l'evento è stato scritto nel log, altrimenti è 0.

LogEvent

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

Registra un evento tramite callback, con opzioni.

La funzione registra un evento rappresentato come EventWriterFunct e un contesto appData specifico dell'app. La funzione scrive i metadati dell'evento e chiama inEventWriter con un riferimento nl::Weave::TLV::TLVWriter e un contesto inAppData in modo che il codice utente possa inviare i dati sull'evento direttamente nel log eventi. Questo tipo di logging eventi riduce al minimo il consumo di memoria, poiché i dati degli eventi vengono serializzati direttamente nel buffer di destinazione. I dati sull'evento DEVONO contenere tag di contesto da interpretare all'interno dello schema identificato da inProfileID e inEventType. Il tag del primo elemento verrà ignorato; il sistema di logging eventi lo sostituirà con il tag eventData.

L'evento viene registrato se il valore inImportance supera la soglia di logging specificata in LoggingConfiguration. Se l'importanza dell'evento non soddisfa la soglia attuale, l'evento viene eliminato e la funzione restituisce 0 come ID evento risultante.

Questa variante della chiamata consente al chiamante di impostare qualsiasi combinazione di EventOptions:

  • Timestamp, quando il valore predefinito di 0 corrisponde all'ora corrente al momento della chiamata,
  • "radice" sezione dell'origine evento (origine evento e ID trait); se NULL, il valore predefinito sarà il dispositivo attuale. l'evento è contrassegnato come relativo al dispositivo che effettua la chiamata,
  • un ID evento correlato per raggruppare gli ID evento; Quando l'ID evento correlato è 0, l'evento viene contrassegnato come non correlato ad altri eventi.
  • urgenza; non urgente per impostazione predefinita.

Dettagli
Parametri
[in] inSchema
Schema che definisce l'importanza, l'ID profilo e il tipo di struttura dell'evento.
[in] inEventWriter
Il callback da richiamare per serializzare effettivamente i dati degli eventi
[in] inAppData
Contesto dell'applicazione per il callback.
[in] inOptions
Le opzioni per i metadati dell'evento. Potrebbe essere NULL.
Restituisce
event_id_t L'ID evento se l'evento è stato scritto nel log, altrimenti è 0.

LogFreeform

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

LogFreeform emette una stringa in formato libero nel flusso di eventi predefinito.

La stringa verrà incapsulata in una struttura di eventi di debug, strutturalmente identica ad altre stringhe registrate. L'ID profilo evento sarà quello di un evento di debug Nest e il tipo di evento sarà kNestDebug_StringLogEntryEvent.

Dettagli
Parametri
[in] inImportance
Importanza della voce di log; se l'importanza è inferiore a quella attuale, l'evento non viene registrato
[in] inFormat
Stringa di formato conforme a printf, seguita dagli argomenti da formattare
Restituisce
event_id_t L'ID evento se l'evento è stato scritto nel log, altrimenti è 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 funzione helper per l'emissione di un testo in formato libero come evento di debug.

L'evento di debug è una struttura con una regione log e un testo in formato libero.

Dettagli
Parametri
[in,out] ioWriter
L'autore dell'evento da utilizzare
[in] appData
Un puntatore a DebugLogContext, una struttura che contiene un formato stringa, argomenti e una regione di log
[in] inDataTag
Un tag di contesto per la TLV che stiamo scrivendo. Non utilizzato qui, ma richiesto da typedef per EventWriterFunct.
Valori restituiti
WEAVE_NO_ERROR
Un successo.
other
Altri errori che possono essere restituiti da ioWriter.

PlainTextWriter

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

Una funzione helper per l'emissione di un testo in formato libero come evento di debug.

L'evento di debug è una struttura con una regione log e un testo in formato libero.

Dettagli
Parametri
[in,out] ioWriter
L'autore dell'evento da utilizzare
[in] inDataTag
Il tag da emettere
[in] appData
Un puntatore a DebugLogContext, una struttura che contiene un formato stringa, argomenti e una regione di log
Valori restituiti
WEAVE_NO_ERROR
Un successo.
other
Altri errori che potrebbero essere restituiti da ioWriter.

operator!=

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

operatore==

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