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
Typedef |
|
---|---|
CommandFlags
|
typedef |
DataVersion
|
typedefuint64_t
|
EventProcessor
|
typedefvoid *
|
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)
|
typedefvoid(*
Iterator dell'handle di tratto. |
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
|
typedef |
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
|
typedefvoid(*
Un prototipo di funzione per un callback richiamato quando vengono inviati eventi esterni all'abbonato remoto. |
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
|
typedefvoid(*
Un prototipo di funzione per un callback richiamato quando gli eventi esterni vengono eliminati dai buffer. |
PropertyDictionaryKey
|
typedefuint16_t
|
PropertyPathHandle
|
typedefuint32_t
Un PropertyPathHandle è un hash numerico univoco a 32 bit di un percorso WDM relativo alla radice di un'istanza trait. |
PropertySchemaHandle
|
typedefuint16_t
|
SchemaVersion
|
typedefuint16_t
|
SingleResourceSinkTraitCatalog
|
typedef |
SingleResourceSourceTraitCatalog
|
typedef |
TimestampType
|
typedef La validità e il tipo di timestamp inclusi in EventOptions. |
TraitDataHandle
|
typedefuint16_t
|
duration_t
|
nl::Weave::Profiles::DataManagement_Current::duration_tuint32_t
Tipo utilizzato per descrivere la durata, in millisecondi. |
event_id_t
|
nl::Weave::Profiles::DataManagement_Current::event_id_tuint32_t
Il tipo di ID evento. |
timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::timestamp_tuint32_t
Tipo utilizzato per descrivere il timestamp in millisecondi. |
utc_timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::utc_timestamp_tuint64_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
|
Sindacati |
|
---|---|
nl:: |
L'unione che fornisce un sistema di set di applicazioni o un timestamp UTC. |
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. |
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 |
|
||||||
Valori restituiti |
|
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 |
|
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 |
|
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 |
|
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 |
|
||||||
Valori restituiti |
|
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 |
|
||||
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 |
|
||||
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 |
|
||||||
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 |
|
||||||
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 |
|
||||||||
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 |
|
||||
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 |
|
||||||
Valori restituiti |
|
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 |
|
||||||
Valori restituiti |
|