nl::Weave::Profiles::DataManagement_Current

Cet espace de noms inclut toutes les interfaces de Weave pour le profil de gestion de données Weave (WDM) actuellement compatibles avec une utilisation en production.

Résumé

Énumérations

@100{
  kTag_Region = 1,
  kTag_Message = 2
}
énum
Balises pour l'événement kNestDebug_StringLogEntryEvent.
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
énum
Tags pour l'événement kNestDebug_TokenizedLogEntryEvent.
@102 énum
Tags pour les événements persistants.
@104 énum
Types de messages du profil WDM.
@105 énum
Codes d'état spécifiques à WDM.
@147 énum
@95{
  kTag_CurrentImportance = 1,
  kTag_ImportanceExpiration,
  kTag_MinimumLogUploadInterval,
  kTag_MaximumLogUploadInterval,
  kTag_LoggingDestination,
  kTag_TraitLoggingImportance
}
énum
Balises des paramètres Logging.
@96{
  kTag_SupportedLogTransports = 1,
  kTag_SupportsStreaming = 2,
  kTag_SupportsNonVolatileStorage = 3,
  kTag_SupportsPerTraitVerbosity = 4,
  kTag_LoggingVolume = 5,
  kTag_LogBufferingCapacity = 6
}
énum
Tags pour les fonctionnalités de journalisation
@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
}
énum
Tags pour les métadonnées d'événement.
@98 énum
Définitions de profil pour la caractéristique de débogage.
@99{
  kNestDebug_StringLogEntryEvent = 1,
  kNestDebug_TokenizedLogEntryEvent = 2,
  kNestDebug_TokenizedHeaderEntryEvent = 3
}
énum
Types d'événements pour la caractéristique Nest Debug.
CommandFlags{
  kCommandFlag_MustBeVersionValid = 0x0001,
  kCommandFlag_InitiationTimeValid = 0x0002,
  kCommandFlag_ActionTimeValid = 0x0004,
  kCommandFlag_ExpiryTimeValid = 0x0008,
  kCommandFlag_IsOneWay = 0x0010
}
énum
ImportanceType{
  ProductionCritical = 1,
  Production,
  Info,
  Debug
}
énum
Importance de l'entrée de journal.
LoggingManagementStates{
  kLoggingManagementState_Idle = 1,
  kLoggingManagementState_InProgress = 2,
  kLoggingManagementState_Holdoff = 3,
  kLoggingManagementState_Shutdown = 4
}
énum
TimestampType énum
Validité et type d'horodatage inclus dans EventOptions.

Typedefs

CommandFlags typedef
DataVersion typedef
uint64_t
EventProcessor typedef
void *
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData) typedef
Fonction qui fournit l'élément eventData au sous-système de journalisation des événements.
FetchExternalEventsFunct)(EventLoadOutContext *aContext) typedef
Prototype de fonction permettant aux rappels de plate-forme d'extraire les données d'événement.
GenericTraitSinkCatalog typedef
GenericTraitSourceCatalog typedef
ImportanceType typedef
Importance de l'entrée de journal.
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext) typedef
void(*
Itérateur de poignée de trame
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer) typedef
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) typedef
void(*
Prototype de fonction pour un rappel invoqué lorsque des événements externes sont transmis à l'abonné distant.
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv) typedef
void(*
Prototype de fonction pour un rappel invoqué lorsque des événements externes sont évincés des tampons.
PropertyDictionaryKey typedef
uint16_t
PropertyPathHandle typedef
uint32_t
Un PropertyPathHandle est un hachage numérique unique de 32 bits d'un chemin WDM par rapport à la racine d'une instance de caractéristique.
PropertySchemaHandle typedef
uint16_t
SchemaVersion typedef
uint16_t
SingleResourceSinkTraitCatalog typedef
SingleResourceSourceTraitCatalog typedef
TimestampType typedef
Validité et type d'horodatage inclus dans EventOptions.
TraitDataHandle typedef
uint16_t
duration_t nl::Weave::Profiles::DataManagement_Current::duration_t
uint32_t
Type utilisé pour décrire la durée, en millisecondes.
event_id_t nl::Weave::Profiles::DataManagement_Current::event_id_t
uint32_t
Type d'ID d'événement.
timestamp_t nl::Weave::Profiles::DataManagement_Current::timestamp_t
uint32_t
Type utilisé pour décrire l'horodatage en millisecondes.
utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::utc_timestamp_t
uint64_t
Type utilisé pour décrire le code temporel UTC en millisecondes.

Variables

sInstance
sLogFileName = "topazlog"[]
char

Fonctions

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)
Fonction d'assistance qui convertit un élément eventdata déjà sérialisé en tampon d'événements.
GetPropertyDictionaryKey(PropertyPathHandle aHandle)
PropertyDictionaryKey
GetPropertySchemaHandle(PropertyPathHandle aHandle)
PropertySchemaHandle
IsNullPropertyPathHandle(PropertyPathHandle aHandle)
bool
IsRootPropertyPathHandle(PropertyPathHandle aHandle)
bool
IsVersionNewer(const DataVersion & aVersion, const DataVersion & aReference)
bool
Il s'agit d'une implémentation optimisée de l'algorithme pour comparer les versions.
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
bool
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
Fonction utilitaire qui trouve un récepteur TraitUpdatableDataSink dans un catalogue TraitDataSink.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
Consigner un événement à partir d'un formulaire pré-sérialisé.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
Consigner un événement à partir d'un formulaire pré-sérialisé, avec des options supplémentaires.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
Consigner un événement via un rappel.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Consigner un événement par rappel, avec des options.
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
LogFreeform émet une chaîne de forme libre vers le flux d'événements par défaut.
LookForElementWithTag(const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader)
PlainTextWriter(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
Fonction d'assistance permettant d'émettre un texte de forme libre en tant qu'événement de débogage.
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
Fonction d'assistance permettant d'émettre un texte de forme libre en tant qu'événement de débogage.
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool

Classes

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

Classe de base pour les encodeurs de messages WDM.

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

Un lecteur TLVReader sauvegardé par CircularEventBuffer.

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

Implémentation de l'interface TraitCatalogBase fournie par Weave pour un ensemble d'instances de données de caractéristique qui se réfèrent toutes à la même ressource.

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

Interface qui doit être implémentée par un sous-traitant des éléments de données dans une requête Notifier.

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

Interface à implémenter par l'application pour sérialiser l'accès aux structures de données clés WDM.

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

Interface d'un objet mutex.

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

Classe de base pour les encodeurs de messages WDM, spécialisée dans les éléments de tableau TLV tels que les listes de données et les listes de versions.

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

Classe de base pour les analyseurs de messages WDM, spécialisée dans les éléments de tableau TLV tels que les listes de données et les listes de versions.

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

LoggingConfiguration encapsule le composant configurable du sous-système de journalisation des événements Weave.

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

Classe permettant de gérer les journaux d'événements en mémoire.

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

Classe de base pour les analyseurs de messages WDM.

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

Structure encapsulant l'ID d'une ressource.

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

Il s'agit d'un singleton hébergeant tous les abonnements WDM Next, côté client et éditeur.

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

Le moteur de schéma extrait les informations de schéma associées à une caractéristique particulière et fournit des installations pour les analyser et les traduire dans un format utilisable par les machines WDM.

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

Classe utilitaire permettant de remettre le dictionnaire dans la file d'attente lors du traitement du chemin d'accès à la propriété ayant l'enfant du dictionnaire.

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

Classe utilitaire permettant de filtrer le chemin lors du traitement des notifications.

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

Cet objet encode les charges utiles WDM UpdateRequest et PartialUpdateRequest.

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

Structs

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

Tampon d'événements interne, conçu autour de nl::Weave::TLV::WeaveCircularTLVBuffer.

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

Structure interne pour le balayage de la liste des événements.

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

Structure qui fournit une résolution complète de l'instance de caractéristique.

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

Structure interne pour les événements de balayage

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

Structure permettant de copier les listes d'événements en sortie.

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

Structure fournissant les options pour les différents champs d'événement.

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

Structure qui définit un schéma pour les métadonnées d'événement.

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

Structure permettant de suivre les événements stockés sur la plate-forme.

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

Classe d'assistance utilisée pour initialiser la gestion de la journalisation.

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

Union

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

Union qui fournit un système d'ensembles d'applications ou un horodatage UTC.

Espaces de noms

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

Définition d'une commande personnalisée WDM.

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

Définition de la réponse de commande personnalisée WDM.

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

Définition de l'élément de données 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

Définition d'un chemin d'accès WDM.

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

Définition de la liste de chemins d'accès 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

Définition de l'élément d'état WDM.

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

Définition d'une requête de mise à jour 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

Énumérations

@100

 @100

Balises pour l'événement kNestDebug_StringLogEntryEvent.

Propriétés
kTag_Message

Chaîne contenant le message de débogage réel.

kTag_Region

Code non signé de 32 bits indiquant la région du journal, c'est-à-dire le module auquel appartient le message de journal.

@101

 @101

Tags pour l'événement kNestDebug_TokenizedLogEntryEvent.

Propriétés
kTag_Args

Tableau d'arguments à envoyer avec le message du jeton.

kTag_Token

Valeur non signée de 32 bits correspondant au jeton.

@102

 @102

Tags pour les événements persistants.

@104

 @104

Types de messages du profil WDM.

Ces valeurs sont indiquées dans la spécification de gestion des données.

@105

 @105

Codes d'état spécifiques à WDM.

@147

 @147

@95

 @95

Balises des paramètres Logging.

Propriétés
kTag_CurrentImportance

Importance actuelle de la journalisation : la valeur est de type ImportanceType.

kTag_ImportanceExpiration

Heure, en secondes UTC, lorsque les paramètres de journalisation élevés actuels reviennent aux valeurs par défaut.

kTag_LoggingDestination

URL indiquant la destination de l'importation du journal.

kTag_MaximumLogUploadInterval

Durée maximale, en secondes, entre les tentatives d'importation de journaux déclenchées automatiquement.

kTag_MinimumLogUploadInterval

Durée minimale, en secondes, entre les tentatives d'importation de journaux déclenchées automatiquement.

kTag_TraitLoggingImportance

Tableau facultatif mappant de manière sélective les profils choisis sur les niveaux de journalisation supérieurs.

Chaque élément du tableau prend une forme (profile,path,loggingimportance) pour élever de manière sélective la journalisation d'un sous-ensemble du système. La priorité de journalisation du profil élevé n'est importante que lorsque la priorité de journalisation dépasse celle de l'élément currentImportance et qu'elle est soumise au même délai d'expiration que celle de currentImportance.

@96

 @96

Tags pour les fonctionnalités de journalisation

Propriétés
kTag_LogBufferingCapacity

Entier non signé de 32 bits décrivant la capacité de mise en mémoire tampon du journal en Ko.

kTag_LoggingVolume

Entier non signé de 32 bits décrivant le volume de journalisation attendu en Ko/jour.

kTag_SupportedLogTransports

Tableau des mécanismes de transport de journaux compatibles.

kTag_SupportsNonVolatileStorage

Booléen indiquant si l'appareil est compatible avec le stockage de journaux non volatile.

kTag_SupportsPerTraitVerbosity

Booléen indiquant si l'appareil est compatible avec les paramètres de verbosité par caractéristique.

kTag_SupportsStreaming

Booléen indiquant si l'appareil est compatible avec la diffusion des journaux.

@97

 @97

Tags pour les métadonnées d'événement.

Pour obtenir une sémantique complète des valeurs de tag, consultez la spécification de conception d'événement.

Propriétés
kTag_EventData

Facultatif. Données d'événement proprement dites. Si ce champ est vide, une structure vide est utilisée par défaut.

kTag_EventDeltaSystemTime

Tag interne WDM, décalage par rapport à l'événement précédent dans l'encodage.

kTag_EventDeltaUTCTime

Tag interne WDM, décalage par rapport à l'événement précédent dans l'encodage.

kTag_EventID

Numéro de séquence de l'événement, exprimé sous la forme d'une quantité non signée de 64 bits.

Les sauts dans la séquence doivent être séquentiels. Les sauts dans la séquence indiquent des interruptions d'événements.

kTag_EventImportance

Importance de l'événement.

kTag_EventResourceID

Facultatif.

La valeur correspond à l'ID de la ressource associée à l'événement. Lorsqu'elle est omise, la valeur est identique à celle du paramètre kTag_EventSource.

kTag_EventSource

NodeID de l'appareil qui a généré l'événement.

kTag_EventSystemTimestamp

Facultatif. Code temporel système de l'événement en millisecondes.

kTag_EventTraitInstanceID

Facultatif, instance de la caractéristique qui a généré l'événement.

kTag_EventTraitProfileID

Obligatoire. Entier non signé de 32 bits égal à l'ID de profil de la caractéristique.

kTag_EventType

Obligatoire. Entier non signé de 16 bits égal à wdl.event.id pour ce type d'événement.

kTag_EventUTCTimestamp

Facultatif. Code temporel UTC de l'événement en millisecondes.

kTag_ExternalEventStructure

Tag interne pour les événements externes. Ils ne doivent jamais être transmis à travers le fil et ne doivent jamais être utilisés en dehors de la bibliothèque Weave.

kTag_RelatedEventID

Facultatif.

ID d'un événement auquel cet événement est associé. Si cette valeur est omise, la valeur est égale à celle de kTag_EventID.

kTag_RelatedEventImportance

Facultatif.

Importance de l'événement associé. Si cette valeur est omise, sa valeur est égale à celle de kTag_EventImportance.

@98

 @98

Définitions de profil pour la caractéristique de débogage.

@99

 @99

Types d'événements pour la caractéristique Nest Debug.

Propriétés
kNestDebug_StringLogEntryEvent

Événement pour le message de débogage de chaîne de forme libre.

kNestDebug_TokenizedHeaderEntryEvent

Événement pour transmettre les informations d'en-tête tokenisées.

kNestDebug_TokenizedLogEntryEvent

Événement pour le message de débogage tokenisé.

CommandFlags

 CommandFlags
Propriétés
kCommandFlag_ActionTimeValid

Définissez quand l'heure d'action est valide.

kCommandFlag_ExpiryTimeValid

Définissez la date d'expiration.

kCommandFlag_InitiationTimeValid

Définissez le moment où l'heure d'initialisation est valide.

kCommandFlag_IsOneWay

Défini lorsque la commande est à sens unique.

kCommandFlag_MustBeVersionValid

Défini lorsque le champ de version est valide.

ImportanceType

 ImportanceType

Importance de l'entrée de journal.

L'importance permet de filtrer les événements avant qu'ils ne soient réellement émis dans le journal. Une fois l'événement consigné dans le journal, nous ne prenons aucune mesure supplémentaire pour l'éliminer définitivement. Le niveau d'importance sert à prioriser le stockage des événements. Si un événement d'importance élevée est ajouté à une mémoire tampon complète, il est supprimé par ordre d'importance (et d'âge) pour tenir compte de cet événement. Par conséquent, les niveaux d'importance n'ont qu'une valeur relative. Si un système n'utilise qu'un seul niveau d'importance, les événements ne sont supprimés que par ordre d'âge, comme un tampon circulaire.

Propriétés
Debug

L'importance du débogage indique les entrées de journal présentant un intérêt pour les développeurs du système. Elle est utilisée principalement lors de la phase de développement.

Les journaux d'importance du débogage ne sont pas pris en compte dans les budgets de bande passante ou d'énergie des appareils restreints. Par conséquent, ils ne doivent être utilisés que pour une période limitée dans les systèmes de production.

Info

L'importance des informations indique les entrées de journal qui fournissent des insights et des diagnostics supplémentaires sur le système en cours d'exécution.

Le niveau de journalisation des informations peut être utilisé sur une période prolongée dans un système de production ou comme niveau de journalisation par défaut dans un test sur le terrain. Sur les appareils soumis à des contraintes, les entrées enregistrées avec le niveau d'information doivent être prises en compte dans le budget de bande passante et de mémoire, mais pas dans le budget d'alimentation.

Production

L'importance relative à la production désigne les entrées de journal utilisées pour la surveillance et la maintenance continues de l'écosystème Nest.

Sur les appareils soumis à des contraintes, les entrées enregistrées avec l'importance "Production" doivent être prises en compte dans la consommation d'énergie et de mémoire, car elles sont toujours consignées et déchargées de l'appareil.

ProductionCritical

L'importance critique en production désigne les événements dont la perte aurait un impact direct sur les fonctionnalités destinées aux clients.

Les applications peuvent utiliser la perte d'événements critiques de production pour indiquer une défaillance du système. Sur les appareils soumis à des contraintes, les entrées enregistrées avec un niveau d'importance critique pour la production doivent être prises en compte dans la consommation d'énergie et de mémoire, car elles sont toujours consignées et déchargées de l'appareil.

LoggingManagementStates

 LoggingManagementStates
Propriétés
kLoggingManagementState_Holdoff

Le déchargement du journal est terminé. nous ne redémarrons pas le journal avant l'expiration de la retenue.

kLoggingManagementState_Idle

Aucun déchargement de journal en cours. Il peut commencer sans aucune contrainte.

kLoggingManagementState_InProgress

Déchargement des journaux en cours.

kLoggingManagementState_Shutdown

Incapable d'effectuer des opérations de journalisation.

TimestampType

 TimestampType

Validité et type d'horodatage inclus dans EventOptions.

Typedefs

CommandFlags

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

DataVersion

uint64_t DataVersion

EventProcessor

void * EventProcessor

EventWriterFunct

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

Fonction qui fournit l'élément eventData au sous-système de journalisation des événements.

Les fonctions de ce type doivent fournir l'élément eventData pour le sous-système de journalisation des événements. Les fonctions de ce type sont appelées une fois que le sous-système d'événements a généré toutes les métadonnées d'événement requises. La fonction est appelée avec un objet nl::Weave::TLV::TLVWriter dans lequel elle émettra un seul élément TLV avec pour tag kTag_EventData; la valeur de cet élément DOIT être une structure contenant les données d'événement. Les données d'événement elles-mêmes doivent être structurées à l'aide de balises de contexte.

Détails
Paramètres
[in,out] ioWriter
Référence à l'objet nl::Weave::TLV::TLVWriter à utiliser pour la sérialisation des données d'événement.
[in] inDataTag
Une balise de contexte pour le TLV que nous écrivons.
[in] appData
Pointeur vers un contexte spécifique à une application.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
other
Une erreur appropriée signale à l'appelant que la sérialisation des données d'événement n'a pas pu être effectuée. Les erreurs provenant des appels à ioWriter doivent être propagées sans remappage. Si la fonction renvoie un type d'erreur, la génération d'événements est annulée et l'événement n'est pas écrit dans le journal.
Voir aussi:
PlainTextWriter
EventWriterTLVCopy

FetchExternalEventsFunct

WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)

Prototype de fonction permettant aux rappels de plate-forme d'extraire les données d'événement.

Semblable à FetchEventsSince, cette fonction d'extraction renvoie tous les événements d'EventLoadOutContext.mStartingEventID via ExternalEvents.mLastEventID.

Le pointeur de contexte est de type FetchExternalEventsContext. Cela inclut EventLoadOutContext, ainsi que quelques variables d'assistance pour le format du TLV. Il inclut également un pointeur vers la structure ExternalEvents créée lors de l'enregistrement du rappel. Ce champ spécifie la plage d'ID d'événement pour le rappel.

Lors du retour à partir de la fonction, EventLoadOutContext.mCurrentEventID doit refléter le premier ID d'événement qui n'a pas été écrit correctement dans le tampon TLV. La plate-forme doit écrire l'en-tête et les données des événements dans le rédacteur TLV au format correct, spécifié par le protocole EventLogging. La plate-forme doit également gérer l'unicité des événements et des codes temporels.

Toutes les erreurs TLV doivent être propagées aux niveaux supérieurs. Par exemple, le manque d'espace dans le tampon déclenche un message envoyé, suivi d'un autre appel au rappel avec n'importe quel ID d'événement restant.

Détails
Valeurs renvoyées
WEAVE_ERROR_NO_MEMORY
S'il n'y a pas d'espace pour écrire des événements.
WEAVE_ERROR_BUFFER_TOO_SMALL
S'il n'y a pas d'espace pour écrire des événements.
WEAVE_NO_ERROR
En cas de réussite.
WEAVE_END_OF_TLV
En cas de réussite.

GenericTraitSinkCatalog

GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog

GenericTraitSourceCatalog

GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog

ImportanceType

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

Importance de l'entrée de journal.

L'importance permet de filtrer les événements avant qu'ils ne soient réellement émis dans le journal. Une fois l'événement consigné dans le journal, nous ne prenons aucune mesure supplémentaire pour l'éliminer définitivement. Le niveau d'importance sert à prioriser le stockage des événements. Si un événement d'importance élevée est ajouté à une mémoire tampon complète, il est supprimé par ordre d'importance (et d'âge) pour tenir compte de cet événement. Par conséquent, les niveaux d'importance n'ont qu'une valeur relative. Si un système n'utilise qu'un seul niveau d'importance, les événements ne sont supprimés que par ordre d'âge, comme un tampon circulaire.

IteratorCallback

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

Itérateur de poignée de trame

LoggingBufferHandler

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

NotifyExternalEventsDeliveredFunct

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

Prototype de fonction pour un rappel invoqué lorsque des événements externes sont transmis à l'abonné distant.

Lorsque les événements externes sont transmis à un abonné distant, le moteur envoie une notification au fournisseur d'événements externe. Le rappel contient l'événement du dernier identifiant envoyé et l'identifiant de l'abonné qui a reçu l'événement.

Détails
Paramètres
[in] inEv
Objet d'événements externes correspondant aux événements diffusés
[in] inLastDeliveredEventID
ID du dernier événement envoyé à l'abonné.
[in] inRecipientNodeID
ID du nœud Weave du destinataire

NotifyExternalEventsEvictedFunct

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

Prototype de fonction pour un rappel invoqué lorsque des événements externes sont évincés des tampons.

Lorsque l'objet d'événements externes est évincé du tampon de messages sortants, le moteur envoie une notification au fournisseur d'événements externe. Le rappel contient l'événement externe à évincer.

Détails
Paramètres
[in] inEv
Objet d'événements externes à évincer

PropertyDictionaryKey

uint16_t PropertyDictionaryKey

PropertyPathHandle

uint32_t PropertyPathHandle

Un PropertyPathHandle est un hachage numérique unique de 32 bits d'un chemin WDM par rapport à la racine d'une instance de caractéristique.

Il se compose de deux éléments:

  • Un nombre inférieur de 16 bits mappé à la partie statique du schéma.
  • Lorsque les 16 bits inférieurs font référence à un chemin dans un élément de dictionnaire, un nombre supérieur de 16 bits est présent et représente la clé de dictionnaire associée à cet élément. Si les 16 bits inférieurs font référence à un élément qui n'est pas un dictionnaire, les 16 bits supérieurs doivent être 0.

Voici quelques caractéristiques:

  • Chaque caractéristique a son propre espace de traitement de chemin de propriété.
  • Chaque chemin de sous-chemin WDM unique aura un PropertyPathHandle unique similaire.
  • Les PropertyPathHandles sont générés automatiquement (à la main pour l'instant) par un compilateur de traits à partir d'IDL et sont représentés sous forme de liste d'énumération dans le fichier d'en-tête du trait correspondant.
  • Avec cette construction, la logique d'application n'a jamais besoin de traiter directement les chemins WDM. Au contraire, leurs interactions avec WDM sont menées exclusivement par le biais de ces identifiants.
  • Les poignées de chemin d'accès sont deux valeurs réservées qui ont une signification spécifique:
    • 0 indique une valeur "NULL" identifiant
    • 1 indique un handle qui pointe vers la racine de l'instance de caractéristique.

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

Validité et type d'horodatage inclus dans EventOptions.

TraitDataHandle

uint16_t TraitDataHandle

duration_t

uint32_t duration_t

Type utilisé pour décrire la durée, en millisecondes.

event_id_t

uint32_t event_id_t

Type d'ID d'événement.

timestamp_t

uint32_t timestamp_t

Type utilisé pour décrire l'horodatage en millisecondes.

utc_timestamp_t

uint64_t utc_timestamp_t

Type utilisé pour décrire le code temporel UTC en millisecondes.

Variables

sInstance

LoggingManagement sInstance

sLogFileName

char sLogFileName[] = "topazlog"

Fonctions

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
)

Fonction d'assistance qui convertit un élément eventdata déjà sérialisé en tampon d'événements.

Détails
Paramètres
[in,out] ioWriter
L'auteur à utiliser pour écrire l'événement
[in] inDataTag
Balise de contexte pour le TLV que nous copions. Non utilisé ici, mais requis par le typedef pour EventWriterFunct.
[in] appData
Pointeur vers le lecteur TLVReader contenant les données d'événement sérialisées.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
other
D'autres erreurs sont renvoyées par 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
)

Il s'agit d'une implémentation optimisée de l'algorithme pour comparer les versions.

Côté client, la version reçue du service est toujours la plus récente.

IsVersionNewerOrEqual

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

Localiser

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

Fonction utilitaire qui trouve un récepteur TraitUpdatableDataSink dans un catalogue TraitDataSink.

Détails
Paramètres
[in] aTraitDataHandle
Identifiant du récepteur à rechercher.
[in] aDataSinkCatalog
Catalogue à rechercher.
Renvoie
Un pointeur vers le récepteur TraitUpdatableDataSink. NULL si le handle n'existe pas ou s'il pointe vers un TraitDataSink non modifiable.

LogEvent

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

Consigner un événement à partir d'un formulaire pré-sérialisé.

La fonction consigne un événement représenté par nl::Weave::TLV::TLVReader. Cela implique que la représentation des données d'événement est déjà sérialisée dans le stockage sous-jacent à nl::Weave::TLV::TLVReader. Le lecteur nl::Weave::TLV::TLVReader doit contenir au moins un élément de données, qui doit être une structure. Le premier élément lu à partir du lecteur est traité comme des données d'événement et stocké dans le journal des événements. Les données d'événement DOIVENT contenir des tags de contexte à interpréter dans le schéma identifié par inProfileID et inEventType. La balise du premier élément est ignorée. le système de journalisation des événements le remplacera par le tag eventData.

L'événement est consigné si son importance dépasse le seuil de journalisation spécifié dans LoggingConfiguration. Si l'importance de l'événement n'atteint pas le seuil actuel, il est supprimé, et la fonction renvoie 0 comme ID d'événement obtenu.

Cette variante de l'appel spécifie implicitement toutes les options d'événement par défaut:

  • L'événement est horodaté avec l'heure actuelle au moment de l'appel.
  • l'événement est marqué comme relatif à l'appareil qui effectue l'appel ;
  • l'événement est autonome et ne concerne aucun autre événement ;
  • l'événement est marqué comme non urgent,

Détails
Paramètres
[in] inSchema
Un schéma définissant l'importance, l'ID du profil et le type de structure de cet événement
[in] inData
Lecteur TLV contenant les données d'événement en tant que premier élément.
Renvoie
event_id_t ID de l'événement si celui-ci a été écrit dans le journal (0 dans le cas contraire).

LogEvent

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

Consigner un événement à partir d'un formulaire pré-sérialisé, avec des options supplémentaires.

La fonction consigne un événement représenté par nl::Weave::TLV::TLVReader. Cela implique que la représentation des données d'événement est déjà sérialisée dans le stockage sous-jacent à nl::Weave::TLV::TLVReader. Le lecteur nl::Weave::TLV::TLVReader doit contenir au moins un élément de données, qui doit être une structure. Le premier élément lu à partir du lecteur est traité comme des données d'événement et stocké dans le journal des événements. Les données d'événement DOIVENT contenir des tags de contexte à interpréter dans le schéma identifié par inProfileID et inEventType. La balise du premier élément est ignorée. le système de journalisation des événements le remplacera par le tag eventData.

L'événement est consigné si son importance dépasse le seuil de journalisation spécifié dans LoggingConfiguration. Si l'importance de l'événement n'atteint pas le seuil actuel, il est supprimé, et la fonction renvoie 0 comme ID d'événement obtenu.

Cette variante de l'appel permet à l'appelant de définir n'importe quelle combinaison de EventOptions:

  • lorsque 0 indique par défaut l'heure actuelle au moment de l'appel,
  • "racine" section de la source d'événement (source de l'événement et ID de caractéristique) ; Si la valeur est NULL, l'appareil actuel est utilisé par défaut. l'événement est marqué comme relatif à l'appareil qui effectue l'appel ;
  • un identifiant d'événement associé pour regrouper les identifiants d'événements ; Lorsque l'ID de l'événement associé est 0, l'événement est marqué comme n'étant associé à aucun autre événement.
  • urgence ; non urgent par défaut.

Détails
Paramètres
[in] inSchema
Un schéma définissant l'importance, l'ID du profil et le type de structure de cet événement
[in] inData
Lecteur TLV contenant les données d'événement en tant que premier élément. Ne doit pas être NULL
[in] inOptions
Options des métadonnées de l'événement. Peut être NULL.
Renvoie
event_id_t ID de l'événement si celui-ci a été écrit dans le journal (0 dans le cas contraire).

LogEvent

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

Consigner un événement via un rappel.

La fonction consigne un événement représenté sous la forme d'un EventWriterFunct et d'un contexte appData spécifique à l'application. La fonction écrit les métadonnées de l'événement et appelle inEventWriter avec une référence nl::Weave::TLV::TLVWriter et un contexte inAppData afin que le code utilisateur puisse émettre les données d'événement directement dans le journal des événements. Cette forme de journalisation des événements minimise la consommation de mémoire, car les données d'événement sont sérialisées directement dans le tampon cible. Les données d'événement DOIVENT contenir des balises de contexte à interpréter dans le schéma identifié par inProfileID et inEventType. La balise du premier élément est ignorée. le système de journalisation des événements le remplacera par le tag eventData.

L'événement est consigné si son importance dépasse le seuil de journalisation spécifié dans LoggingConfiguration. Si l'importance de l'événement n'atteint pas le seuil actuel, il est supprimé, et la fonction renvoie 0 comme ID d'événement obtenu.

Cette variante de l'appel spécifie implicitement toutes les options d'événement par défaut:

  • L'événement est horodaté avec l'heure actuelle au moment de l'appel.
  • l'événement est marqué comme relatif à l'appareil qui effectue l'appel ;
  • l'événement est autonome et ne concerne aucun autre événement ;
  • l'événement est marqué comme non urgent,

Détails
Paramètres
[in] inSchema
Un schéma définissant l'importance, l'ID du profil et le type de structure de cet événement
[in] inEventWriter
Rappel à invoquer pour sérialiser les données d'événement
[in] inAppData
Contexte de l'application pour le rappel.
Renvoie
event_id_t ID de l'événement si celui-ci a été écrit dans le journal (0 dans le cas contraire).

LogEvent

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

Consigner un événement par rappel, avec des options.

La fonction consigne un événement représenté sous la forme d'un EventWriterFunct et d'un contexte appData spécifique à l'application. La fonction écrit les métadonnées de l'événement et appelle inEventWriter avec une référence nl::Weave::TLV::TLVWriter et un contexte inAppData afin que le code utilisateur puisse émettre les données d'événement directement dans le journal des événements. Cette forme de journalisation des événements minimise la consommation de mémoire, car les données d'événement sont sérialisées directement dans le tampon cible. Les données d'événement DOIVENT contenir des balises de contexte à interpréter dans le schéma identifié par inProfileID et inEventType. La balise du premier élément est ignorée. le système de journalisation des événements le remplacera par le tag eventData.

L'événement est consigné si son importance dépasse le seuil de journalisation spécifié dans LoggingConfiguration. Si l'importance de l'événement n'atteint pas le seuil actuel, il est supprimé, et la fonction renvoie 0 comme ID d'événement obtenu.

Cette variante de l'appel permet à l'appelant de définir n'importe quelle combinaison de EventOptions:

  • lorsque 0 indique par défaut l'heure actuelle au moment de l'appel,
  • "racine" section de la source d'événement (source de l'événement et ID de caractéristique) ; Si la valeur est NULL, l'appareil actuel est utilisé par défaut. l'événement est marqué comme relatif à l'appareil qui effectue l'appel ;
  • un identifiant d'événement associé pour regrouper les identifiants d'événements ; Lorsque l'ID de l'événement associé est 0, l'événement est marqué comme n'étant associé à aucun autre événement.
  • urgence ; non urgent par défaut.

Détails
Paramètres
[in] inSchema
Un schéma définissant l'importance, l'ID du profil et le type de structure de cet événement
[in] inEventWriter
Rappel à invoquer pour sérialiser les données d'événement
[in] inAppData
Contexte de l'application pour le rappel.
[in] inOptions
Options des métadonnées de l'événement. Peut être NULL.
Renvoie
event_id_t ID de l'événement si celui-ci a été écrit dans le journal (0 dans le cas contraire).

LogFreeform

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

LogFreeform émet une chaîne de forme libre vers le flux d'événements par défaut.

La chaîne sera encapsulée dans une structure d'événement de débogage, dont la structure sera identique aux autres chaînes enregistrées. L'ID du profil d'événement sera celui d'un événement de débogage Nest, et le type d'événement sera kNestDebug_StringLogEntryEvent.

Détails
Paramètres
[in] inImportance
Importance de l'entrée de journal ; Si l'importance est inférieure à l'importance actuelle, l'événement n'est pas consigné
[in] inFormat
Chaîne de format compatible avec printf, suivie des arguments à mettre en forme
Renvoie
event_id_t ID de l'événement si celui-ci a été écrit dans le journal (0 dans le cas contraire).

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
)

Fonction d'assistance permettant d'émettre un texte de forme libre en tant qu'événement de débogage.

L'événement de débogage est une structure avec une région de journalisation et un texte au format libre.

Détails
Paramètres
[in,out] ioWriter
L'auteur à utiliser pour écrire l'événement
[in] appData
Un pointeur vers DebugLogContext, une structure contenant un format de chaîne, des arguments et une région de journal
[in] inDataTag
Une balise de contexte pour le TLV que nous écrivons. Non utilisé ici, mais requis par le typedef pour EventWriterFunct.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
other
D'autres erreurs sont renvoyées par ioWriter.

PlainTextWriter

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

Fonction d'assistance permettant d'émettre un texte de forme libre en tant qu'événement de débogage.

L'événement de débogage est une structure avec une région de journalisation et un texte au format libre.

Détails
Paramètres
[in,out] ioWriter
L'auteur à utiliser pour écrire l'événement
[in] inDataTag
Balise à émettre
[in] appData
Un pointeur vers DebugLogContext, une structure contenant un format de chaîne, des arguments et une région de journal
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
other
Autres erreurs susceptibles d'être renvoyées par ioWriter.

operator!=

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

opérateur==

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