nl::Weave::Profiles::DataManagement_Current

इस नेमस्पेस में Weave डेटा मैनेजमेंट (WDM) प्रोफ़ाइल के लिए वे सभी इंटरफ़ेस शामिल हैं जो फ़िलहाल प्रोडक्शन के लिए काम करते हैं.

खास जानकारी

गिनती

@100{
  kTag_Region = 1,
  kTag_Message = 2
}
enum
kNestDebug_StringLogEntryEvent के लिए टैग.
@101{
  kTag_Token = 1,
  kTag_Args = 2
}
enum
kNestDebug_TokenizedLogEntryEvent के लिए टैग.
@102 enum
स्थायी इवेंट के लिए टैग.
@104 enum
WDM प्रोफ़ाइल मैसेज के टाइप.
@105 enum
WDM के लिए खास स्टेटस कोड.
@147 enum
@95{
  kTag_CurrentImportance = 1,
  kTag_ImportanceExpiration,
  kTag_MinimumLogUploadInterval,
  kTag_MaximumLogUploadInterval,
  kTag_LoggingDestination,
  kTag_TraitLoggingImportance
}
enum
लॉगिंग सेटिंग टैग.
@96{
  kTag_SupportedLogTransports = 1,
  kTag_SupportsStreaming = 2,
  kTag_SupportsNonVolatileStorage = 3,
  kTag_SupportsPerTraitVerbosity = 4,
  kTag_LoggingVolume = 5,
  kTag_LogBufferingCapacity = 6
}
enum
डेटा लॉग करने की सुविधाओं के लिए टैग.
@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
इवेंट मेटाडेटा के लिए टैग.
@98 enum
डीबग trait के लिए प्रोफ़ाइल की परिभाषाएं.
@99{
  kNestDebug_StringLogEntryEvent = 1,
  kNestDebug_TokenizedLogEntryEvent = 2,
  kNestDebug_TokenizedHeaderEntryEvent = 3
}
enum
Nest Debug trait के लिए इवेंट के टाइप.
CommandFlags{
  kCommandFlag_MustBeVersionValid = 0x0001,
  kCommandFlag_InitiationTimeValid = 0x0002,
  kCommandFlag_ActionTimeValid = 0x0004,
  kCommandFlag_ExpiryTimeValid = 0x0008,
  kCommandFlag_IsOneWay = 0x0010
}
enum
ImportanceType{
  ProductionCritical = 1,
  Production,
  Info,
  Debug
}
enum
लॉग एंट्री की अहमियत.
LoggingManagementStates{
  kLoggingManagementState_Idle = 1,
  kLoggingManagementState_InProgress = 2,
  kLoggingManagementState_Holdoff = 3,
  kLoggingManagementState_Shutdown = 4
}
enum
TimestampType enum
टाइमस्टैंप की मान्यता और उसका टाइप, EventOptions में शामिल किया गया है.

टाइपडीफ़

CommandFlags typedef
DataVersion typedef
uint64_t
EventProcessor typedef
void *
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData) typedef
ऐसा फ़ंक्शन जो इवेंट लॉग करने वाले सबसिस्टम के लिए, eventData एलिमेंट उपलब्ध कराता है.
FetchExternalEventsFunct)(EventLoadOutContext *aContext) typedef
इवेंट डेटा फ़ेच करने वाले प्लैटफ़ॉर्म कॉलबैक के लिए फ़ंक्शन प्रोटोटाइप.
GenericTraitSinkCatalog typedef
GenericTraitSourceCatalog typedef
ImportanceType typedef
लॉग एंट्री की अहमियत.
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext) typedef
void(*
Trait हैंडल इटरेटर.
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer) typedef
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID) typedef
void(*
कॉलबैक के लिए फ़ंक्शन प्रोटोटाइप तब शुरू होता है, जब रिमोट सदस्य को बाहरी इवेंट डिलीवर किए जाते हैं.
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv) typedef
void(*
कॉलबैक के लिए फ़ंक्शन प्रोटोटाइप तब शुरू किया जाता है, जब बाहरी इवेंट को बफ़र से निकाला जाता है.
PropertyDictionaryKey typedef
uint16_t
PropertyPathHandle typedef
uint32_t
प्रॉपर्टीPathHandle, trait इंस्टेंस के रूट के मुकाबले किसी WDM पाथ का 32-बिट वाला यूनीक नंबर वाला हैश है.
PropertySchemaHandle typedef
uint16_t
SchemaVersion typedef
uint16_t
SingleResourceSinkTraitCatalog typedef
SingleResourceSourceTraitCatalog typedef
TimestampType typedef
टाइमस्टैंप की मान्यता और उसका टाइप, EventOptions में शामिल किया गया है.
TraitDataHandle typedef
uint16_t
duration_t nl::Weave::Profiles::DataManagement_Current::duration_t
uint32_t
अवधि की जानकारी देने के लिए, मिलीसेकंड में इस्तेमाल किया जाने वाला टाइप.
event_id_t nl::Weave::Profiles::DataManagement_Current::event_id_t
uint32_t
इवेंट आईडी का टाइप.
timestamp_t nl::Weave::Profiles::DataManagement_Current::timestamp_t
uint32_t
टाइमस्टैंप की जानकारी देने के लिए, मिलीसेकंड में इस्तेमाल किया जाने वाला टाइप.
utc_timestamp_t nl::Weave::Profiles::DataManagement_Current::utc_timestamp_t
uint64_t
यूटीसी टाइमस्टैंप की जानकारी देने के लिए, मिलीसेकंड में इस्तेमाल किया जाने वाला टाइप.

वैरिएबल

sInstance
sLogFileName = "topazlog"[]
char

फ़ंक्शन

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)
ऐसा हेल्पर फ़ंक्शन जो पहले से क्रम से लगाए गए इवेंट डेटा एलिमेंट को इवेंट बफ़र में बदलता है.
GetPropertyDictionaryKey(PropertyPathHandle aHandle)
PropertyDictionaryKey
GetPropertySchemaHandle(PropertyPathHandle aHandle)
PropertySchemaHandle
IsNullPropertyPathHandle(PropertyPathHandle aHandle)
bool
IsRootPropertyPathHandle(PropertyPathHandle aHandle)
bool
IsVersionNewer(const DataVersion & aVersion, const DataVersion & aReference)
bool
यह वर्शन की तुलना करने के लिए, एल्गोरिदम को ऑप्टिमाइज़ किया गया है.
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
bool
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
यूटिलिटी फ़ंक्शन, जिसे TraitDataSink कैटलॉग में TraitUpdatableDataSink मिलता है.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
पहले से क्रम में लगाए गए फ़ॉर्म से इवेंट लॉग करें.
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
पहले से क्रम के मुताबिक बनाए गए फ़ॉर्म से इवेंट लॉग करें. इसमें ज़्यादा विकल्प शामिल हैं.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
कॉलबैक के ज़रिए इवेंट लॉग करें.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
कॉलबैक के ज़रिए, विकल्पों के साथ इवेंट लॉग करें.
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
LogFreeform, डिफ़ॉल्ट इवेंट स्ट्रीम से एक फ़्रीफ़ॉर्म स्ट्रिंग देता है.
LookForElementWithTag(const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader)
PlainTextWriter(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
यह एक हेल्पर फ़ंक्शन है, जो डीबग इवेंट के तौर पर फ़्रीफ़ॉर्म टेक्स्ट उत्सर्जित करने में मदद करता है.
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
यह एक हेल्पर फ़ंक्शन है, जो डीबग इवेंट के तौर पर फ़्रीफ़ॉर्म टेक्स्ट उत्सर्जित करने में मदद करता है.
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
bool

क्लास

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

WDM मैसेज एन्कोडर के लिए बेस क्लास.

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

CircularEventBuffer की मदद से जनरेट किया गया TLVReader.

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

Weave ने एक ही संसाधन को रेफ़र करने वाले Trait डेटा इंस्टेंस के कलेक्शन के लिए, TraitCatalogBase इंटरफ़ेस को लागू किया गया है.

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

ऐसा इंटरफ़ेस जिसे सूचनाएं अनुरोध में डेटा एलिमेंट के प्रोसेसर के साथ लागू किया जाना है.

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

ऐसा इंटरफ़ेस जिसे ऐप्लिकेशन से लागू किया जाना है, ताकि कुंजी WDM डेटा स्ट्रक्चर के ऐक्सेस को सीरियलाइज़ किया जा सके.

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

म्यूटेक्स ऑब्जेक्ट का इंटरफ़ेस.

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

WDM मैसेज एन्कोडर के लिए बेस क्लास, जो डेटा सूची और वर्शन सूची जैसे टीएलवी ऐरे एलिमेंट में खास तौर पर काम करती है.

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

WDM मैसेज पार्सर के लिए बेस क्लास, जिसे डेटा सूचियां और वर्शन सूची जैसे TLV कलेक्शन एलिमेंट में खास तौर पर शामिल किया जाता है.

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

LoggingConfiguration से, Weave इवेंट लॉगिंग सबसिस्टम के कॉन्फ़िगर किए जा सकने वाले कॉम्पोनेंट को इकट्ठा किया जा सकता है.

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

मेमोरी इवेंट लॉग को मैनेज करने के लिए क्लास.

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

WDM मैसेज पार्सर के लिए बेस क्लास.

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

रिसॉर्स के आईडी को इकट्ठा करने वाला स्ट्रक्चर.

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

यह एक सिंगलटन है, जो क्लाइंट और पब्लिशर, दोनों पक्षों के लिए WDM Next की सभी सदस्यताओं को होस्ट करता है.

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

स्कीमा इंजन किसी खास trait से जुड़ी स्कीमा की जानकारी लेता है. साथ ही, उसे पार्स और अनुवाद करने की सुविधाएं देता है, ताकि WDM मशीन इस्तेमाल किया जा सके.

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

डिक्शनरी वाले चाइल्ड पाथ को प्रोसेस करते समय, डिक्शनरी को वापस 'मंज़ूरी बाकी है' सूची में रखने के लिए यूटिलिटी क्लास.

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

सूचना को हैंडल करते समय, पाथ को फ़िल्टर करने वाली सुविधा की कैटगरी.

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

यह ऑब्जेक्ट, WDM UpdateRequest और PartialUpdateRequest पेलोड को कोड में बदलता है.

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

संरचना

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

इंटरनल इवेंट बफ़र, जो nl::Weave::TLV::WeaveCircularTLVBuffer के हिसाब से बनाया गया है.

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

ट्रैवर्सिंग इवेंट सूची के लिए अंदरूनी संरचना.

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

वह स्ट्रक्चर जो Trait इंस्टेंस का पूरा रिज़ॉल्यूशन देता है.

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

ट्रैवर्सिंग इवेंट के लिए इंटरनल स्ट्रक्चर.

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

आउटपुट पर इवेंट की सूचियों को कॉपी करने के लिए स्ट्रक्चर.

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

अलग-अलग इवेंट फ़ील्ड के लिए विकल्प देने वाला स्ट्रक्चर.

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

इवेंट मेटाडेटा के लिए स्कीमा को तय करने वाला स्ट्रक्चर.

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

प्लैटफ़ॉर्म में सेव किए गए इवेंट को ट्रैक करने के लिए स्ट्रक्चर.

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

लॉगिंग मैनेजमेंट शुरू करने में इस्तेमाल की जाने वाली हेल्पर क्लास.

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

यूनियन

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

वह यूनियन जो ऐप्लिकेशन सेट सिस्टम या यूटीसी टाइमस्टैंप देता है.

नाम स्थान

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

WDM कस्टम Command की परिभाषा.

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

WDM कस्टम Command रिस्पॉन्स की परिभाषा.

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

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

WDM पाथ की परिभाषा.

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

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

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

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

गिनती

@100

 @100

kNestDebug_StringLogEntryEvent के लिए टैग.

प्रॉपर्टी
kTag_Message

इस स्ट्रिंग में असल डीबग मैसेज होता है.

kTag_Region

बिना साइन वाला 32-बिट, जो लॉग के क्षेत्र को दिखाता है. उदाहरण के लिए, वह मॉड्यूल जिससे लॉग मैसेज जुड़ा है.

@101

 @101

kNestDebug_TokenizedLogEntryEvent के लिए टैग.

प्रॉपर्टी
kTag_Args

टोकन मैसेज के साथ भेजे जाने वाले आर्ग्युमेंट का कलेक्शन.

kTag_Token

टोकन से जुड़ा 32-बिट बिना साइन वाला मान.

@102

 @102

स्थायी इवेंट के लिए टैग.

@104

 @104

WDM प्रोफ़ाइल मैसेज के टाइप.

इन वैल्यू के बारे में डेटा मैनेजमेंट स्पेसिफ़िकेशन में बताया गया है.

@105

 @105

WDM के लिए खास स्टेटस कोड.

@147

 @147

@95

 @95

लॉगिंग सेटिंग टैग.

प्रॉपर्टी
kTag_CurrentImportance

डेटा को लॉग करने की मौजूदा अहमियत, वैल्यू का टाइपकॉल-टाइप इंपोर्ट है.

kTag_ImportanceExpiration

समय, यूटीसी सेकंड में जब बेहतर लॉग इन करने की मौजूदा सेटिंग डिफ़ॉल्ट वैल्यू पर वापस आती हैं.

kTag_LoggingDestination

लॉग अपलोड का डेस्टिनेशन दिखाने वाला यूआरएल.

kTag_MaximumLogUploadInterval

अपने-आप ट्रिगर हुए लॉग को अपलोड करने की कोशिशों के बीच, ज़्यादा से ज़्यादा समय (सेकंड में).

kTag_MinimumLogUploadInterval

अपने-आप जनरेट हुए लॉग को अपलोड करने की कोशिशों के बीच, कम से कम समय (सेकंड में).

kTag_TraitLoggingImportance

एक वैकल्पिक कलेक्शन, चुनिंदा प्रोफ़ाइल को बड़े लॉग लेवल पर मैप करता है.

कलेक्शन का हर एलिमेंट (profile,path,loggingImportance) का रूप ले लेता है, ताकि सिस्टम के सबसेट से चुनिंदा तरीके से लॉगिंग को बढ़ाया जा सके. प्रोफ़ाइल को लॉग करने की बेहतर प्राथमिकता सिर्फ़ तब अहम होती है, जब डेटा को लॉग करने की प्राथमिकता, मौजूदा अहमियत से ज़्यादा हो. साथ ही, उसकी समयसीमा खत्म होने का मौजूदा समय जितना ज़रूरी हो.

@96

 @96

डेटा लॉग करने की सुविधाओं के लिए टैग.

प्रॉपर्टी
kTag_LogBufferingCapacity

लॉग बफ़र होने की क्षमता के बारे में 32-बिट का साइन न किया गया पूर्णांक, जो केबी में दिखता है.

kTag_LoggingVolume

बिना साइन वाला 32-बिट पूर्णांक, जो केबी/दिन में लॉगिन की अनुमानित संख्या के बारे में बताता है.

kTag_SupportedLogTransports

लॉग ट्रांसपोर्ट करने के साथ काम करने वाले तरीकों की कैटगरी.

kTag_SupportsNonVolatileStorage

इस बूलियन से पता चलता है कि डिवाइस पर नॉनवोलाटाइल लॉग स्टोरेज काम करता है या नहीं.

kTag_SupportsPerTraitVerbosity

इस बूलियन से पता चलता है कि डिवाइस पर हर एट्रिब्यूट की वर्बोसिटी की सेटिंग काम करती है या नहीं.

kTag_SupportsStreaming

इस बूलियन से पता चलता है कि डिवाइस पर स्ट्रीमिंग लॉग काम करते हैं या नहीं.

@97

 @97

इवेंट मेटाडेटा के लिए टैग.

टैग वैल्यू के सिमेंटिक्स के लिए, इवेंट के डिज़ाइन से जुड़ी जानकारी देखें.

प्रॉपर्टी
kTag_EventData

ज़रूरी नहीं. इवेंट डेटा. खाली होने पर, डिफ़ॉल्ट तौर पर खाली स्ट्रक्चर दिखता है.

kTag_EventDeltaSystemTime

WDM आंतरिक टैग, एन्कोडिंग में पिछले इवेंट से समय का अंतर.

kTag_EventDeltaUTCTime

WDM आंतरिक टैग, एन्कोडिंग में पिछले इवेंट से समय का अंतर.

kTag_EventID

इवेंट का क्रम नंबर, जिसे 64-बिट की बिना साइन की संख्या के तौर पर दिखाया जाता है.

क्रम में होना चाहिए, क्रम में होने वाला जंप, इवेंट गैप को दिखाता है.

kTag_EventImportance

इवेंट की अहमियत.

kTag_EventResourceID

ज़रूरी नहीं.

मान उस संसाधन का आईडी है जिससे इवेंट जुड़ा है. अगर वैल्यू छोड़ी जाती है, तो यह kTag_EventSource की वैल्यू के बराबर होती है

kTag_EventSource

इवेंट जनरेट करने वाले डिवाइस का NodeID.

kTag_EventSystemTimestamp

ज़रूरी नहीं. इवेंट का सिस्टम टाइमस्टैंप, मिलीसेकंड में.

kTag_EventTraitInstanceID

ज़रूरी नहीं, उस Trait का इंस्टेंस जिससे इवेंट जनरेट हुआ.

kTag_EventTraitProfileID

ज़रूरी है. बिना हस्ताक्षर वाला 32-बिट पूर्णांक, जो trait के ProfileID के बराबर है.

kTag_EventType

ज़रूरी है. साइन नहीं किया गया 16-बिट का पूर्णांक, जो इस तरह के इवेंट के लिए wdl.event.id के बराबर है.

kTag_EventUTCTimestamp

ज़रूरी नहीं. इवेंट का यूटीसी टाइमस्टैंप, मिलीसेकंड में.

kTag_ExternalEventStructure

बाहरी इवेंट के लिए अंदरूनी टैग. कभी भी वायर पर ट्रांसमिट नहीं करें, इसका इस्तेमाल Weave लाइब्रेरी के बाहर कभी नहीं किया जाना चाहिए.

kTag_RelatedEventID

ज़रूरी नहीं.

उस इवेंट का आईडी जिससे यह इवेंट जुड़ा है. अगर इसे छोड़ा जाता है, तो वैल्यू, kTag_EventID की वैल्यू के बराबर होती है.

kTag_RelatedEventImportance

ज़रूरी नहीं.

मिलते-जुलते इवेंट की अहमियत. अगर इसे छोड़ा जाता है, तो वैल्यू kTag_EventImportance के मान के बराबर होती है.

@98

 @98

डीबग trait के लिए प्रोफ़ाइल की परिभाषाएं.

@99

 @99

Nest Debug trait के लिए इवेंट के टाइप.

प्रॉपर्टी
kNestDebug_StringLogEntryEvent

फ़्रीफ़ॉर्म स्ट्रिंग डीबग मैसेज के लिए इवेंट.

kNestDebug_TokenizedHeaderEntryEvent

टोकन के तौर पर मौजूद हेडर की जानकारी देने के लिए इवेंट.

kNestDebug_TokenizedLogEntryEvent

टोकन के तौर पर मौजूद डीबग मैसेज के लिए इवेंट.

CommandFlags

 CommandFlags
प्रॉपर्टी
kCommandFlag_ActionTimeValid

कार्रवाई का समय मान्य होने पर सेट करें.

kCommandFlag_ExpiryTimeValid

समयसीमा खत्म होने की तारीख मान्य होने पर सेट करें.

kCommandFlag_InitiationTimeValid

इनिट समय के मान्य होने पर सेट करें.

kCommandFlag_IsOneWay

सेट करें कि निर्देश एकतरफ़ा हों.

kCommandFlag_MustBeVersionValid

वर्शन फ़ील्ड के मान्य होने पर सेट करें.

ImportanceType

 ImportanceType

लॉग एंट्री की अहमियत.

महत्व का इस्तेमाल, लॉग में इवेंट के असल में एमिशन होने से पहले ही, उन्हें फ़िल्टर करने के तरीके के तौर पर किया जाता है. इवेंट के लॉग में जाने के बाद, हम उसे लॉग से हमेशा के लिए मिटाने का कोई प्रावधान नहीं रखते हैं. अहमियत के लेवल पर, इवेंट के स्टोरेज को प्राथमिकता दी जाती है. अगर किसी फ़ुल बफ़र में बहुत ज़्यादा ज़रूरी इवेंट जोड़ा जाता है, तो उसे जगह देने के लिए इवेंट को अहमियत (और उम्र) के क्रम में हटा दिया जाता है. इसलिए, अहमियत के लेवल की वैल्यू सिर्फ़ एक जैसी होती है. अगर सिस्टम, अहमियत के सिर्फ़ एक लेवल का इस्तेमाल कर रहा है, तो इवेंट को सिर्फ़ उम्र के हिसाब से हटाया जाता है. जैसे, रिंग बफ़र.

प्रॉपर्टी
Debug

डीबग की अहमियत, सिस्टम के डेवलपर की दिलचस्पी वाली लॉग एंट्री है. इसका इस्तेमाल मुख्य रूप से डेवलपमेंट के दौरान किया जाता है.

डीबग के महत्व के लॉग को, सीमित किए गए डिवाइसों के बैंडविड्थ या पावर बजट में शामिल नहीं किया जाता. इस वजह से, उनका इस्तेमाल प्रोडक्शन सिस्टम में सीमित समय में किया जाना चाहिए.

Info

'ज़रूरी जानकारी' की मदद से उन लॉग एंट्री का पता चलता है जो मौजूदा सिस्टम के बारे में ज़्यादा अहम जानकारी और गड़बड़ी की जानकारी देती हैं.

जानकारी को लॉग करने के लेवल का इस्तेमाल, प्रोडक्शन सिस्टम में लंबे समय तक किया जा सकता है या फ़ील्ड ट्रायल में डिफ़ॉल्ट लॉग लेवल के तौर पर इस्तेमाल किया जा सकता है. सीमित ऐक्सेस वाले डिवाइसों पर, जानकारी के लेवल के साथ लॉग की गई एंट्री को बैंडविड्थ और मेमोरी बजट में शामिल किया जाना चाहिए, लेकिन पावर बजट में नहीं.

Production

प्रोडक्शन वैल्यू से उन लॉग एंट्री का पता चलता है जिनका इस्तेमाल Nest नेटवर्क की निगरानी और रखरखाव के लिए किया जाता है.

सीमित ऐक्सेस वाले डिवाइसों पर, प्रोडक्शन अहमियत के साथ लॉग की गई एंट्री को पावर और मेमोरी बजट में गिना जाना चाहिए. ऐसा इसलिए, क्योंकि यह उम्मीद की जाती है कि डिवाइस से हमेशा लॉग और ऑफ़लोड किए जाते हैं.

ProductionCritical

प्रोडक्शन की अहमियत उन इवेंट को दिखाती है जिनमें नुकसान होने का सीधा असर ग्राहकों को दी जाने वाली सुविधाओं पर पड़ेगा.

ऐप्लिकेशन, प्रोडक्शन से जुड़े गंभीर इवेंट में आई कमी का इस्तेमाल सिस्टम की गड़बड़ी दिखाने के लिए कर सकते हैं. सीमित ऐक्सेस वाले डिवाइसों पर, प्रोडक्शन के लिए ज़रूरी अहमियत वाली एंट्री को पावर और मेमोरी बजट में गिना जाना चाहिए. ऐसा इसलिए, क्योंकि डिवाइस से हमेशा इन्हें लॉग और ऑफ़लोड किया जाता है.

LoggingManagementStates

 LoggingManagementStates
प्रॉपर्टी
kLoggingManagementState_Holdoff

लॉग ऑफ़लोड पूरा हो गया है; होल्डऑफ़ की समयसीमा खत्म होने तक हम लॉग को फिर से शुरू नहीं करते.

kLoggingManagementState_Idle

कोई लॉग ऑफ़लोड नहीं है. लॉग ऑफ़लोड बिना किसी रुकावट के शुरू हो सकता है.

kLoggingManagementState_InProgress

लॉग ऑफ़लोड हो रहा है.

kLoggingManagementState_Shutdown

कोई भी लॉगिंग कार्रवाई करने में सक्षम नहीं है.

TimestampType

 TimestampType

टाइमस्टैंप की मान्यता और उसका टाइप, EventOptions में शामिल किया गया है.

टाइपडीफ़

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)

ऐसा फ़ंक्शन जो इवेंट लॉग करने वाले सबसिस्टम के लिए, eventData एलिमेंट उपलब्ध कराता है.

इस तरह के फ़ंक्शन से इवेंट लॉग करने वाले सबसिस्टम के लिए, eventData एलिमेंट मिलने की उम्मीद होती है. जब इवेंट सबसिस्टम सभी ज़रूरी इवेंट मेटाडेटा जनरेट कर लेता है, तब इस तरह के फ़ंक्शन को कॉल किया जाता है. फ़ंक्शन को nl::Weave::TLV::TLVWriter ऑब्जेक्ट के साथ कॉल किया जाता है. इस ऑब्जेक्ट में, kTag_EventData टैग किया गया सिर्फ़ एक TLV एलिमेंट उत्सर्जित करेगा. उस एलिमेंट की वैल्यू, इवेंट डेटा वाला स्ट्रक्चर होना चाहिए. इवेंट डेटा को संदर्भ टैग का इस्तेमाल करके स्ट्रक्चर्ड किया जाना चाहिए.

जानकारी
पैरामीटर
[in,out] ioWriter
इवेंट डेटा को क्रम में लगाने के लिए, nl::Weave::TLV::TLVWriter ऑब्जेक्ट का रेफ़रंस दिया जाता है.
[in] inDataTag
हम जिस टीएलवी के बारे में लिख रहे हैं उसके लिए एक कॉन्टेक्स्ट टैग.
[in] appData
किसी ऐप्लिकेशन से जुड़े खास कॉन्टेक्स्ट के लिए पॉइंटर.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
other
कॉलर को यह बताने वाली एक सही गड़बड़ी कि इवेंट डेटा को क्रम से लगाने की प्रोसेस पूरी नहीं की जा सकी. ioWriter को कॉल करने पर आने वाली गड़बड़ियों को, रीमैपिंग के बिना लागू करना चाहिए. अगर फ़ंक्शन किसी भी तरह की गड़बड़ी दिखाता है, तो इवेंट जनरेशन रद्द कर दिया जाता है और लॉग में इवेंट नहीं लिखा जाता.
यह भी देखें:
PlainTextWriter
EventWriterTLV कॉपी

FetchExternalEventsFunct

WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)

इवेंट डेटा फ़ेच करने वाले प्लैटफ़ॉर्म कॉलबैक के लिए फ़ंक्शन प्रोटोटाइप.

फे़च इवेंट की तरह, फ़ेच करने का यह फ़ंक्शन, ExternalEvents.mLastEventID के ज़रिए EventLoadOutContext.mStartEventID से सभी इवेंट दिखाता है.

कॉन्टेक्स्ट पॉइंटर, फ़ीड एक्सटर्नल इवेंट्सकॉन्टेक्स्ट टाइप का होता है. इसमें TLV फ़ॉर्मैट के लिए कुछ हेल्पर वैरिएबल के साथ, EventLoadOutContext शामिल है. इसमें कॉलबैक के रजिस्ट्रेशन पर बनाए गए ExternalEvents स्ट्रक्चर के लिए एक पॉइंटर भी शामिल है. यह कॉलबैक के लिए इवेंट आईडी की रेंज तय करता है.

फ़ंक्शन से वापस आने पर, EventLoadOutContext.mCurrentEventID को वह पहला इवेंट आईडी दिखाना चाहिए जो TLV बफ़र में नहीं लिखा गया है. प्लैटफ़ॉर्म को इवेंट हेडर और डेटा को, EventLogging प्रोटोकॉल में तय किए गए, सही फ़ॉर्मैट में TLV राइटर को लिखा जाना चाहिए. साथ ही, प्लैटफ़ॉर्म पर अलग-अलग इवेंट और टाइमस्टैंप भी मौजूद होने चाहिए.

टीएलवी की सभी गड़बड़ियां, बड़े लेवल पर लागू की जानी चाहिए. उदाहरण के लिए, बफ़र में जगह खत्म होने पर एक भेजा गया मैसेज ट्रिगर होगा और इसके बाद कॉलबैक को एक और कॉल आएगा, जिसमें से जो भी इवेंट आईडी बचेगा.

जानकारी
रिटर्न वैल्यू
WEAVE_ERROR_NO_MEMORY
अगर इवेंट लिखने के लिए कोई जगह नहीं है.
WEAVE_ERROR_BUFFER_TOO_SMALL
अगर इवेंट लिखने के लिए कोई जगह नहीं है.
WEAVE_NO_ERROR
सफलता पर.
WEAVE_END_OF_TLV
सफलता पर.

GenericTraitSinkCatalog

GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog

GenericTraitSourceCatalog

GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog

ImportanceType

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

लॉग एंट्री की अहमियत.

महत्व का इस्तेमाल, लॉग में इवेंट के असल में एमिशन होने से पहले ही, उन्हें फ़िल्टर करने के तरीके के तौर पर किया जाता है. इवेंट के लॉग में जाने के बाद, हम उसे लॉग से हमेशा के लिए मिटाने का कोई प्रावधान नहीं रखते हैं. अहमियत के लेवल पर, इवेंट के स्टोरेज को प्राथमिकता दी जाती है. अगर किसी फ़ुल बफ़र में बहुत ज़्यादा ज़रूरी इवेंट जोड़ा जाता है, तो उसे जगह देने के लिए इवेंट को अहमियत (और उम्र) के क्रम में हटा दिया जाता है. इसलिए, अहमियत के लेवल की वैल्यू सिर्फ़ एक जैसी होती है. अगर सिस्टम, अहमियत के सिर्फ़ एक लेवल का इस्तेमाल कर रहा है, तो इवेंट को सिर्फ़ उम्र के हिसाब से हटाया जाता है. जैसे, रिंग बफ़र.

IteratorCallback

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

Trait हैंडल इटरेटर.

LoggingBufferHandler

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

NotifyExternalEventsDeliveredFunct

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

कॉलबैक के लिए फ़ंक्शन प्रोटोटाइप तब शुरू होता है, जब रिमोट सदस्य को बाहरी इवेंट डिलीवर किए जाते हैं.

जब किसी दूसरी जगह मौजूद सदस्य को बाहरी इवेंट डिलीवर किए जाते हैं, तब इंजन, इवेंट की सेवा देने वाली बाहरी कंपनी को इसकी सूचना देता है. कॉलबैक में, डिलीवर किए गए आखिरी आईडी का इवेंट और इवेंट पाने वाले सदस्य का आईडी शामिल होता है.

जानकारी
पैरामीटर
[in] inEv
डिलीवर किए गए इवेंट से जुड़े बाहरी इवेंट ऑब्जेक्ट
[in] inLastDeliveredEventID
सदस्य को भेजे गए पिछले इवेंट का आईडी.
[in] inRecipientNodeID
पाने वाले का वीव नोड आईडी

NotifyExternalEventsEvictedFunct

void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)

कॉलबैक के लिए फ़ंक्शन प्रोटोटाइप तब शुरू किया जाता है, जब बाहरी इवेंट को बफ़र से निकाला जाता है.

जब बाहरी इवेंट ऑब्जेक्ट को आउटबाउंड मैसेज बफ़र से हटाया जाता है, तो इंजन इवेंट की सेवा देने वाली बाहरी कंपनी को इसकी सूचना देता है. कॉलबैक में, एक्सटर्नल इवेंट शामिल होता है.

जानकारी
पैरामीटर
[in] inEv
बाहरी इवेंट को हटाना है

PropertyDictionaryKey

uint16_t PropertyDictionaryKey

PropertyPathHandle

uint32_t PropertyPathHandle

प्रॉपर्टीPathHandle, trait इंस्टेंस के रूट के मुकाबले किसी WDM पाथ का 32-बिट वाला यूनीक नंबर वाला हैश है.

इसके दो हिस्से होते हैं:

  • कम 16-बिट की संख्या, जो स्कीमा के स्टैटिक हिस्से से मैप होती है.
  • जहां निचले 16-बिट किसी डिक्शनरी एलिमेंट के अंदर के पाथ को रेफ़र करते हैं, वहां ऊपरी 16-बिट नंबर मौजूद होता है, जो उस एलिमेंट से जुड़ी डिक्शनरी कुंजी दिखाता है. अगर नीचे के 16-बिट किसी नॉन डिक्शनरी एलिमेंट को रेफ़र करते हैं, तो ऊपरी 16-बिट की वैल्यू 0 होनी चाहिए.

कुछ खास बातें:

  • हर Trait का अपना प्रॉपर्टी पाथ होता है, जहां हैंडल स्पेस होता है.
  • हर यूनीक WDM सब-पाथ पाथ में एक यूनीक प्रॉपर्टीPathHandle होगा.
  • प्रॉपर्टीPathHandles, आईडीएल के ट्रैट कंपाइलर के ज़रिए अपने-आप जनरेट होता है (अभी के लिए हाथ से किया जाता है). साथ ही, इसे संबंधित Trait की हेडर फ़ाइल में एन्यूमरंट सूची के तौर पर दिखाया जाता है.
  • इस कंस्ट्रक्शन के साथ, ऐप्लिकेशन लॉजिक को कभी भी सीधे WDM पाथ से निपटना नहीं पड़ता है. इसके बजाय, WDM के साथ उनकी बातचीत खास तौर पर इन हैंडल के ज़रिए होती है.
  • खास मतलब वाले पाथ हैंडल के लिए दो रिज़र्व वैल्यू हैं:
    • 0 का मतलब है कि 'NULL' हैंडल है
    • 1, ऐसे हैंडल के बारे में बताता है जो 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

टाइमस्टैंप की मान्यता और उसका टाइप, EventOptions में शामिल किया गया है.

TraitDataHandle

uint16_t TraitDataHandle

duration_t

uint32_t duration_t

अवधि की जानकारी देने के लिए, मिलीसेकंड में इस्तेमाल किया जाने वाला टाइप.

event_id_t

uint32_t event_id_t

इवेंट आईडी का टाइप.

timestamp_t

uint32_t timestamp_t

टाइमस्टैंप की जानकारी देने के लिए, मिलीसेकंड में इस्तेमाल किया जाने वाला टाइप.

utc_timestamp_t

uint64_t utc_timestamp_t

यूटीसी टाइमस्टैंप की जानकारी देने के लिए, मिलीसेकंड में इस्तेमाल किया जाने वाला टाइप.

वैरिएबल

sInstance

LoggingManagement sInstance

sLogFileName

char sLogFileName[] = "topazlog"

फ़ंक्शन

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
)

ऐसा हेल्पर फ़ंक्शन जो पहले से क्रम से लगाए गए इवेंट डेटा एलिमेंट को इवेंट बफ़र में बदलता है.

जानकारी
पैरामीटर
[in,out] ioWriter
इवेंट को लिखने के लिए इस्तेमाल किया जाने वाला लेखक
[in] inDataTag
टीएलवी के लिए एक कॉन्टेक्स्ट टैग, जिसे हम कॉपी कर रहे हैं. यहां Unused, लेकिन EventWriterFuct के लिए typedef के लिए ज़रूरी है.
[in] appData
TLVReader के लिए पॉइंटर, जिसमें सीरियल वाला इवेंट डेटा शामिल है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
other
अन्य गड़बड़ियां जो मुझे 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
)

यह वर्शन की तुलना करने के लिए, एल्गोरिदम को ऑप्टिमाइज़ किया गया है.

क्लाइंट साइड पर, सेवा से मिलने वाला वर्शन हमेशा सबसे नया होता है.

IsVersionNewerOrEqual

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

पता लगाएं

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

यूटिलिटी फ़ंक्शन, जिसे TraitDataSink कैटलॉग में TraitUpdatableDataSink मिलता है.

जानकारी
पैरामीटर
[in] aTraitDataHandle
सिंक टू लुकअप का हैंडल.
[in] aDataSinkCatalog
खोजा जाने वाला कैटलॉग.
लौटाए गए सामान
TraitUpdatableDataSink के लिए पॉइंटर; अगर हैंडल मौजूद न हो या यह अपडेट न किए जा सकने वाले TraitDataSink पर ले जाता हो, तो इसे NULL कर दें.

LogEvent

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

पहले से क्रम में लगाए गए फ़ॉर्म से इवेंट लॉग करें.

फ़ंक्शन, किसी इवेंट को लॉग करता है, जिसे nl::Weave::TLV::TLVReader एट्रिब्यूट के तौर पर दिखाया जाता है. इसका मतलब है कि nl::Weave::TLV::TLVReader एट्रिब्यूट के स्टोरेज में, इवेंट डेटा को पहले से ही क्रम से लगाया जा चुका है. nl::Weave::TLV::TLVReader फ़ील्ड में कम से कम एक डेटा एलिमेंट शामिल होना चाहिए. वह एलिमेंट एक स्ट्रक्चर होना चाहिए. रीडर से पढ़े जाने वाले पहले एलिमेंट को इवेंट डेटा माना जाता है और उसे इवेंट लॉग में सेव किया जाता है. इवेंट डेटा में, inProfileID और inEventType से पहचाने गए स्कीमा के हिसाब से संदर्भ टैग शामिल होने चाहिए. पहले एलिमेंट का टैग नज़रअंदाज़ कर दिया जाएगा; इवेंट लॉगिंग सिस्टम इसे eventData टैग से बदल देगा.

अगर इवेंट की वैल्यू, LoggingConfiguration में बताई गई लॉगिंग थ्रेशोल्ड से ज़्यादा हो जाती है, तो उसे लॉग किया जाता है. अगर इवेंट की अहमियत मौजूदा थ्रेशोल्ड से कम है, तो उसे हटा दिया जाता है. इसके बाद, फ़ंक्शन, नतीजे के तौर पर मिलने वाले इवेंट आईडी के तौर पर 0 दिखाता है.

बातचीत शुरू करने वाले इस वैरिएंट में, इवेंट के सभी डिफ़ॉल्ट विकल्पों के बारे में साफ़ तौर पर बताया जाता है:

  • इवेंट का टाइमस्टैंप, कॉल के पॉइंट पर मौजूदा समय से जुड़ा हो.
  • जिस डिवाइस पर कॉल किया जा रहा है उससे जुड़ा इवेंट के तौर पर मार्क किया जाता है,
  • इवेंट स्टैंडअलोन है, जो किसी अन्य इवेंट से जुड़ा नहीं है.
  • इवेंट को गैर-ज़रूरी के तौर पर मार्क किया गया है,

जानकारी
पैरामीटर
[in] inSchema
इस इवेंट की अहमियत, प्रोफ़ाइल आईडी, और स्ट्रक्चर टाइप के बारे में बताने वाला स्कीमा.
[in] inData
टीएलवी रीडर, जिसमें इवेंट डेटा को पहले एलिमेंट के तौर पर शामिल किया गया है.
लौटाए गए सामान
event_id_t अगर इवेंट को लॉग में लिखा गया था, तो इवेंट आईडी, 0 नहीं होता है.

LogEvent

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

पहले से क्रम के मुताबिक बनाए गए फ़ॉर्म से इवेंट लॉग करें. इसमें ज़्यादा विकल्प शामिल हैं.

फ़ंक्शन, किसी इवेंट को लॉग करता है, जिसे nl::Weave::TLV::TLVReader एट्रिब्यूट के तौर पर दिखाया जाता है. इसका मतलब है कि nl::Weave::TLV::TLVReader एट्रिब्यूट के स्टोरेज में, इवेंट डेटा को पहले से ही क्रम से लगाया जा चुका है. nl::Weave::TLV::TLVReader फ़ील्ड में कम से कम एक डेटा एलिमेंट शामिल होना चाहिए. वह एलिमेंट एक स्ट्रक्चर होना चाहिए. रीडर से पढ़े जाने वाले पहले एलिमेंट को इवेंट डेटा माना जाता है और उसे इवेंट लॉग में सेव किया जाता है. इवेंट डेटा में, inProfileID और inEventType से पहचाने गए स्कीमा के हिसाब से संदर्भ टैग शामिल होने चाहिए. पहले एलिमेंट का टैग नज़रअंदाज़ कर दिया जाएगा; इवेंट लॉगिंग सिस्टम इसे eventData टैग से बदल देगा.

अगर इवेंट की वैल्यू, LoggingConfiguration में बताई गई लॉगिंग थ्रेशोल्ड से ज़्यादा हो जाती है, तो उसे लॉग किया जाता है. अगर इवेंट की अहमियत मौजूदा थ्रेशोल्ड से कम है, तो उसे हटा दिया जाता है. इसके बाद, फ़ंक्शन, नतीजे के तौर पर मिलने वाले इवेंट आईडी के तौर पर 0 दिखाता है.

बातचीत के इस वैरिएंट की मदद से, कॉल करने वाले (कॉलर) को EventOptions का कोई भी कॉम्बिनेशन सेट करने की अनुमति मिलती है:

  • टाइमस्टैंप, जब कॉल के पॉइंट पर 0 डिफ़ॉल्ट रूप से मौजूदा समय होता है,
  • इवेंट सोर्स का "रूट" सेक्शन (इवेंट सोर्स और Trait ID). अगर NULL होता है, तो यह डिफ़ॉल्ट रूप से मौजूदा डिवाइस पर सेट हो जाता है. इवेंट, कॉल करने वाले डिवाइस से जुड़ा हुआ के तौर पर मार्क किया जाता है,
  • इवेंट आईडी को ग्रुप करने के लिए मिलता-जुलता इवेंट आईडी. उससे मिलते-जुलते इवेंट आईडी के शून्य होने पर, उस इवेंट को 'अन्य इवेंट से जुड़ा नहीं है' के तौर पर मार्क किया जाता है,
  • बहुत ज़रूरी है; डिफ़ॉल्ट रूप से गैर-ज़रूरी है.

जानकारी
पैरामीटर
[in] inSchema
इस इवेंट की अहमियत, प्रोफ़ाइल आईडी, और स्ट्रक्चर टाइप के बारे में बताने वाला स्कीमा.
[in] inData
टीएलवी रीडर, जिसमें इवेंट डेटा को पहले एलिमेंट के तौर पर शामिल किया गया है. शून्य नहीं होना चाहिए
[in] inOptions
इवेंट के मेटाडेटा के लिए विकल्प. शायद शून्य हो.
लौटाए गए सामान
event_id_t अगर इवेंट को लॉग में लिखा गया था, तो इवेंट आईडी, 0 नहीं होता है.

LogEvent

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

कॉलबैक के ज़रिए इवेंट लॉग करें.

यह फ़ंक्शन, EventWriterFunct को दिखाने वाले इवेंट और ऐप्लिकेशन के हिसाब से appData कॉन्टेक्स्ट के तौर पर इवेंट लॉग करता है. यह फ़ंक्शन, इवेंट मेटाडेटा को लिखता है और inEventWriter को nl::Weave::TLV::TLVWriter रेफ़रंस और inAppData कॉन्टेक्स्ट के साथ कॉल करता है, ताकि उपयोगकर्ता कोड, इवेंट डेटा को सीधे इवेंट लॉग में भेज सके. इवेंट लॉगिंग का यह तरीका मेमोरी की खपत को कम करता है, क्योंकि इवेंट डेटा को सीधे टारगेट बफ़र में क्रम से लगाया जाता है. इवेंट डेटा में कॉन्टेक्स्ट टैग होने चाहिए, ताकि inProfileID और inEventType के बताए गए स्कीमा के हिसाब से इसका इस्तेमाल किया जा सके. पहले एलिमेंट का टैग नज़रअंदाज़ कर दिया जाएगा; इवेंट लॉगिंग सिस्टम इसे eventData टैग से बदल देगा.

अगर इवेंट की वैल्यू, LoggingConfiguration में बताई गई लॉगिंग थ्रेशोल्ड से ज़्यादा हो जाती है, तो उसे लॉग किया जाता है. अगर इवेंट की अहमियत मौजूदा थ्रेशोल्ड से कम है, तो उसे हटा दिया जाता है. इसके बाद, फ़ंक्शन, नतीजे के तौर पर मिलने वाले इवेंट आईडी के तौर पर 0 दिखाता है.

बातचीत शुरू करने वाले इस वैरिएंट में, इवेंट के सभी डिफ़ॉल्ट विकल्पों के बारे में साफ़ तौर पर बताया जाता है:

  • इवेंट का टाइमस्टैंप, कॉल के पॉइंट पर मौजूदा समय से जुड़ा हो.
  • जिस डिवाइस पर कॉल किया जा रहा है उससे जुड़ा इवेंट के तौर पर मार्क किया जाता है,
  • इवेंट स्टैंडअलोन है, जो किसी अन्य इवेंट से जुड़ा नहीं है.
  • इवेंट को गैर-ज़रूरी के तौर पर मार्क किया गया है,

जानकारी
पैरामीटर
[in] inSchema
इस इवेंट की अहमियत, प्रोफ़ाइल आईडी, और स्ट्रक्चर टाइप के बारे में बताने वाला स्कीमा.
[in] inEventWriter
इवेंट डेटा को क्रम से लगाने के लिए, शुरू करने के लिए कॉलबैक
[in] inAppData
कॉलबैक के लिए ऐप्लिकेशन का कॉन्टेक्स्ट.
लौटाए गए सामान
event_id_t अगर इवेंट को लॉग में लिखा गया था, तो इवेंट आईडी, 0 नहीं होता है.

LogEvent

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

कॉलबैक के ज़रिए, विकल्पों के साथ इवेंट लॉग करें.

यह फ़ंक्शन, EventWriterFunct को दिखाने वाले इवेंट और ऐप्लिकेशन के हिसाब से appData कॉन्टेक्स्ट के तौर पर इवेंट लॉग करता है. यह फ़ंक्शन, इवेंट मेटाडेटा को लिखता है और inEventWriter को nl::Weave::TLV::TLVWriter रेफ़रंस और inAppData कॉन्टेक्स्ट के साथ कॉल करता है, ताकि उपयोगकर्ता कोड, इवेंट डेटा को सीधे इवेंट लॉग में भेज सके. इवेंट लॉगिंग का यह तरीका मेमोरी की खपत को कम करता है, क्योंकि इवेंट डेटा को सीधे टारगेट बफ़र में क्रम से लगाया जाता है. इवेंट डेटा में कॉन्टेक्स्ट टैग होने चाहिए, ताकि inProfileID और inEventType के बताए गए स्कीमा के हिसाब से इसका इस्तेमाल किया जा सके. पहले एलिमेंट का टैग नज़रअंदाज़ कर दिया जाएगा; इवेंट लॉगिंग सिस्टम इसे eventData टैग से बदल देगा.

अगर इवेंट की वैल्यू, LoggingConfiguration में बताई गई लॉगिंग थ्रेशोल्ड से ज़्यादा हो जाती है, तो उसे लॉग किया जाता है. अगर इवेंट की अहमियत मौजूदा थ्रेशोल्ड से कम है, तो उसे हटा दिया जाता है. इसके बाद, फ़ंक्शन, नतीजे के तौर पर मिलने वाले इवेंट आईडी के तौर पर 0 दिखाता है.

बातचीत के इस वैरिएंट की मदद से, कॉल करने वाले (कॉलर) को EventOptions का कोई भी कॉम्बिनेशन सेट करने की अनुमति मिलती है:

  • टाइमस्टैंप, जब कॉल के पॉइंट पर 0 डिफ़ॉल्ट रूप से मौजूदा समय होता है,
  • इवेंट सोर्स का "रूट" सेक्शन (इवेंट सोर्स और Trait ID). अगर NULL होता है, तो यह डिफ़ॉल्ट रूप से मौजूदा डिवाइस पर सेट हो जाता है. इवेंट, कॉल करने वाले डिवाइस से जुड़ा हुआ के तौर पर मार्क किया जाता है,
  • इवेंट आईडी को ग्रुप करने के लिए मिलता-जुलता इवेंट आईडी. उससे मिलते-जुलते इवेंट आईडी के शून्य होने पर, उस इवेंट को 'अन्य इवेंट से जुड़ा नहीं है' के तौर पर मार्क किया जाता है,
  • बहुत ज़रूरी है; डिफ़ॉल्ट रूप से गैर-ज़रूरी है.

जानकारी
पैरामीटर
[in] inSchema
इस इवेंट की अहमियत, प्रोफ़ाइल आईडी, और स्ट्रक्चर टाइप के बारे में बताने वाला स्कीमा.
[in] inEventWriter
इवेंट डेटा को क्रम से लगाने के लिए, शुरू करने के लिए कॉलबैक
[in] inAppData
कॉलबैक के लिए ऐप्लिकेशन का कॉन्टेक्स्ट.
[in] inOptions
इवेंट के मेटाडेटा के लिए विकल्प. शायद शून्य हो.
लौटाए गए सामान
event_id_t अगर इवेंट को लॉग में लिखा गया था, तो इवेंट आईडी, 0 नहीं होता है.

LogFreeform

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

LogFreeform, डिफ़ॉल्ट इवेंट स्ट्रीम से एक फ़्रीफ़ॉर्म स्ट्रिंग देता है.

स्ट्रिंग को डीबग इवेंट स्ट्रक्चर में एन्कैप्सुलेट किया जाएगा. यह स्ट्रक्चर, लॉग की गई अन्य स्ट्रिंग की तरह होगा. इवेंट प्रोफ़ाइल आईडी, Nest डीबग इवेंट की तरह होगा और इवेंट टाइप kNestDebug_StringLogEntryEvent होगा.

जानकारी
पैरामीटर
[in] inImportance
लॉग एंट्री का महत्व; अगर अहमियत मौजूदा अहमियत से कम होती है, तो इवेंट असल में लॉग नहीं किया जाता है
[in] inFormat
printf के मुताबिक फ़ॉर्मैट वाली स्ट्रिंग, जिसके बाद फ़ॉर्मैट किए जाने वाले तर्क
लौटाए गए सामान
event_id_t अगर इवेंट को लॉग में लिखा गया था, तो इवेंट आईडी, 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
)

यह एक हेल्पर फ़ंक्शन है, जो डीबग इवेंट के तौर पर फ़्रीफ़ॉर्म टेक्स्ट उत्सर्जित करने में मदद करता है.

डीबग इवेंट एक स्ट्रक्चर है, जिसमें लॉगक्षेत्र और फ़्रीफ़ॉर्म टेक्स्ट होता है.

जानकारी
पैरामीटर
[in,out] ioWriter
इवेंट को लिखने के लिए इस्तेमाल किया जाने वाला लेखक
[in] appData
DebugLogContext के लिए बना पॉइंटर. यह एक ऐसा स्ट्रक्चर है जिसमें स्ट्रिंग फ़ॉर्मैट, आर्ग्युमेंट, और लॉग रीजन को होल्ड किया जाता है
[in] inDataTag
हम जिस टीएलवी के बारे में लिख रहे हैं उसके लिए एक कॉन्टेक्स्ट टैग. यहां Unused, लेकिन EventWriterFuct के लिए typedef के लिए ज़रूरी है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
other
अन्य गड़बड़ियां जो मुझे ioWriter से मिलती हैं.

PlainTextWriter

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

यह एक हेल्पर फ़ंक्शन है, जो डीबग इवेंट के तौर पर फ़्रीफ़ॉर्म टेक्स्ट उत्सर्जित करने में मदद करता है.

डीबग इवेंट एक स्ट्रक्चर है, जिसमें लॉगक्षेत्र और फ़्रीफ़ॉर्म टेक्स्ट होता है.

जानकारी
पैरामीटर
[in,out] ioWriter
इवेंट को लिखने के लिए इस्तेमाल किया जाने वाला लेखक
[in] inDataTag
उत्सर्जित करने वाला टैग
[in] appData
DebugLogContext के लिए बना पॉइंटर. यह एक ऐसा स्ट्रक्चर है जिसमें स्ट्रिंग फ़ॉर्मैट, आर्ग्युमेंट, और लॉग रीजन को होल्ड किया जाता है
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
other
अन्य गड़बड़ियां जो ioWriter से मिल सकती हैं.

ऑपरेटर!=

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

ऑपरेटर==

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