nl:: Weave:: Profiles:: DataManagement_Current:: LoggingManagement
#include <src/lib/profiles/data-management/Current/LoggingManagement.h>
मेमोरी इवेंट लॉग को मैनेज करने के लिए क्लास.
खास जानकारी
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
LoggingManagement(nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
LoggingManagement कंस्ट्रक्टर.
|
|
LoggingManagement(void)
LoggingManagement डिफ़ॉल्ट कंस्ट्रक्टर.
|
सार्वजनिक फ़ंक्शन |
|
---|---|
BlitEvent(EventLoadOutContext *aContext, const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
इवेंट लॉगिंग प्रोटोकॉल के अनुसार, इवेंट हेडर और डेटा लिखने के लिए हेल्पर फ़ंक्शन.
|
CancelShutdownInProgress(void)
|
void
m शटडाउन इंप्रोग्रेस फ़्लैग को 'गलत है' पर सेट करें.
|
CheckShouldRunWDM(void)
|
bool
अपलोड करने के लिए शेड्यूल नहीं किए गए इवेंट बफ़र में बाइट की संख्या के हिसाब से, तय करें कि इवेंट को ऑफ़लोड करना है या नहीं.
|
FetchEventsSince(nl::Weave::TLV::TLVWriter & ioWriter, ImportanceType inImportance, event_id_t & ioEventID)
|
किसी खास इवेंट आईडी के बाद से, खास अहमियत वाले इवेंट वापस पाने का फ़ंक्शन.
|
GetBytesWritten(void) const
|
uint32_t
इस लॉग के इंस्टैंशिएट होने के बाद से, इस लॉग में लिखे गए बाइट की कुल संख्या (सभी इवेंट के महत्व में) पाएं.
|
GetEventReader(nl::Weave::TLV::TLVReader & ioReader, ImportanceType inImportance)
|
इन-मेमोरी लॉग बफ़र की जांच करने के लिए एक हेल्पर तरीका.
|
GetFirstEventID(ImportanceType inImportance)
|
अहमियत के किसी खास लेवल के लिए, मौजूदा समय में सेव किया गया पहला इवेंट आईडी फ़ेच करें.
|
GetLastEventID(ImportanceType inImportance)
|
अहमियत के किसी खास लेवल के लिए, सबसे हाल ही में बदला गया आईडी फ़ेच करें.
|
IsShutdownInProgress(void)
|
bool
m शटडाउन इनप्रोग्रेस फ़्लैग देखें.
|
IsValid(void)
|
bool
Isमान्य यह दिखाता है कि LoggingManagement इंस्टेंस मान्य है या नहीं.
|
LoadEvents(TLVReader & reader)
|
पहले से मौजूद Weave इवेंट को लोड करें.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
कॉलबैक के ज़रिए, विकल्पों के साथ इवेंट लॉग करें.
|
MarkShutdownInProgress(void)
|
void
m शटडाउन इंप्रोग्रेस फ़्लैग को 'सही है' पर सेट करें.
|
NotifyEventsDelivered(ImportanceType inImportance, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
|
void
|
RegisterEventCallbackForImportance(ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, NotifyExternalEventsEvictedFunct inEvictedCallback, size_t inNumEvents, event_id_t *outLastEventID)
|
बाहर से सेव किए गए इवेंट के सेट को रजिस्टर करने के लिए सार्वजनिक एपीआई.
|
RegisterEventCallbackForImportance(ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, size_t inNumEvents, event_id_t *outLastEventID)
|
बाहर से सेव किए गए इवेंट के सेट को रजिस्टर करने के लिए सार्वजनिक एपीआई.
|
RegisterEventCallbackForImportance(ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, size_t inNumEvents, event_id_t *outLastEventID)
|
बाहर से सेव किए गए इवेंट के सेट को रजिस्टर करने के लिए सार्वजनिक एपीआई.
|
ScheduleFlushIfNeeded(bool inFlushRequested)
|
लॉग ऑफ़लोड टास्क शेड्यूल करें.
|
SerializeEvents(TLVWriter & writer)
|
Weave के हर तरह के इवेंट को सीरीज़ के तौर पर बनाएं.
|
SetBDXUploader(LogBDXUpload *inUploader)
|
void
|
SetExchangeManager(nl::Weave::WeaveExchangeManager *inMgr)
|
इस लॉगिंग सबसिस्टम के साथ इस्तेमाल करने के लिए, WeaveExchangeManager को सेट करें.
|
SetLoggingEndpoint(event_id_t *inEventEndpoints, size_t inNumImportanceLevels, size_t & outLoggingPosition)
|
|
SkipEvent(EventLoadOutContext *aContext)
|
void
किसी दिए गए इवेंट आईडी से जुड़े इवेंट को लिखने की ज़रूरत छोड़ने के लिए हेल्पर फ़ंक्शन.
|
ThrottleLogger(void)
|
void
ThrottleLogger, असरदार लॉगिंग लेवल को प्रोडक्शन लेवल तक बढ़ा देता है.
|
UnregisterEventCallbackForImportance(ImportanceType inImportance, event_id_t inEventID)
|
void
बाहर से सेव किए गए इवेंट के सेट का रजिस्ट्रेशन रद्द करने के लिए सार्वजनिक एपीआई.
|
UnthrottleLogger(void)
|
void
UnthrottleLogger, कॉन्फ़िगर किए गए लॉगिन लेवल को पहले जैसा करता है.
|
सार्वजनिक स्टैटिक फ़ंक्शन |
|
---|---|
CreateLoggingManagement(nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
|
void
LoggingManagement ऑब्जेक्ट बनाएं और दिए गए संसाधनों की मदद से, लॉगिंग मैनेजमेंट सबसिस्टम को शुरू करें.
|
DestroyLoggingManagement(void)
|
void
शटडाउन के दौरान ज़रूरी कार्रवाइयां करें.
|
GetInstance(void)
|
सार्वजनिक फ़ंक्शन
BlitEvent
WEAVE_ERROR BlitEvent( EventLoadOutContext *aContext, const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
इवेंट लॉगिंग प्रोटोकॉल के अनुसार, इवेंट हेडर और डेटा लिखने के लिए हेल्पर फ़ंक्शन.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
CancelShutdownInProgress
void CancelShutdownInProgress( void )
m शटडाउन इंप्रोग्रेस फ़्लैग को 'गलत है' पर सेट करें.
CheckShouldRunWDM
bool CheckShouldRunWDM( void )
अपलोड करने के लिए शेड्यूल नहीं किए गए इवेंट बफ़र में बाइट की संख्या के हिसाब से, तय करें कि इवेंट को ऑफ़लोड करना है या नहीं.
फ़ंक्शन का व्यवहार, WEAVE_CONFIG_EVENT_LOGGING_BYTE_THRESHOLD कॉन्सटेंट के ज़रिए कंट्रोल किया जाता है. अगर पिछली बार WDM सूचना भेजे जाने के बाद से सिस्टम ने इस संख्या से ज़्यादा बाइट कोड लिखे हैं, तो फ़ंक्शन बताएगा कि अब NotificationEngine ट्रिगर करने का समय आ गया है.
जानकारी | |||||
---|---|---|---|---|---|
रिटर्न वैल्यू |
|
FetchEventsSince
WEAVE_ERROR FetchEventsSince( nl::Weave::TLV::TLVWriter & ioWriter, ImportanceType inImportance, event_id_t & ioEventID )
किसी खास इवेंट आईडी के बाद से, खास अहमियत वाले इवेंट वापस पाने का फ़ंक्शन.
nl::Weave::TLV::TLVWriter फ़ंक्शन, और इवेंट आईडी दिया गया है. इसकी मदद से, फ़ंक्शन तय किए गए इवेंट के बाद से अहम इवेंट फ़ेच करेगा. फ़ंक्शन तब तक इवेंट फ़ेच करता रहेगा, जब तक कि nl::Weave::TLV::TLVWriter या लॉग में जगह खत्म नहीं हो जाती. फ़ंक्शन, इवेंट की सीमा पर इवेंट लिखने की सुविधा को बंद कर देगा.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
GetBytesWritten
uint32_t GetBytesWritten( void ) const
इस लॉग के इंस्टैंशिएट होने के बाद से, इस लॉग में लिखे गए बाइट की कुल संख्या (सभी इवेंट के महत्व में) पाएं.
जानकारी | |
---|---|
लौटाए गए सामान |
लॉग में लिखे गए बाइट की संख्या.
|
GetEventReader
WEAVE_ERROR GetEventReader( nl::Weave::TLV::TLVReader & ioReader, ImportanceType inImportance )
इन-मेमोरी लॉग बफ़र की जांच करने के लिए एक हेल्पर तरीका.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए गए सामान |
WEAVE_NO_ERROR बिना किसी शर्त के.
|
GetFirstEventID
event_id_t GetFirstEventID( ImportanceType inImportance )
अहमियत के किसी खास लेवल के लिए, मौजूदा समय में सेव किया गया पहला इवेंट आईडी फ़ेच करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
event_id_t उस इवेंट के अहमियत के लिए, मौजूदा समय में सेव किया गया पहला इवेंट आईडी
|
GetLastEventID
event_id_t GetLastEventID( ImportanceType inImportance )
अहमियत के किसी खास लेवल के लिए, सबसे हाल ही में बदला गया आईडी फ़ेच करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
उस इवेंट के महत्व के लिए, event_id_t का सबसे हाल ही में बदला गया इवेंट आईडी
|
IsShutdownInProgress
bool IsShutdownInProgress( void )
m शटडाउन इनप्रोग्रेस फ़्लैग देखें.
IsValid
bool IsValid( void )
Isमान्य यह दिखाता है कि LoggingManagement इंस्टेंस मान्य है या नहीं.
जानकारी | |||||
---|---|---|---|---|---|
रिटर्न वैल्यू |
|
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 होता है, तो यह डिफ़ॉल्ट रूप से मौजूदा डिवाइस पर सेट हो जाता है. इवेंट, कॉल करने वाले डिवाइस से जुड़ा हुआ के तौर पर मार्क किया जाता है,
- इवेंट आईडी को ग्रुप करने के लिए मिलता-जुलता इवेंट आईडी. उससे मिलते-जुलते इवेंट आईडी के शून्य होने पर, उस इवेंट को 'अन्य इवेंट से जुड़ा नहीं है' के तौर पर मार्क किया जाता है,
- बहुत ज़रूरी है; डिफ़ॉल्ट रूप से गैर-ज़रूरी है.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
लौटाए गए सामान |
event_id_t अगर इवेंट को लॉग में लिखा गया था, तो इवेंट आईडी, 0 नहीं होता है.
|
LoggingManagement
LoggingManagement( nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources )
LoggingManagement कंस्ट्रक्टर.
LogStorageResources के कलेक्शन के साथ, LoggingManagement को शुरू करने के लिए. ऐरे में, अहमियत के हर मान्य लेवल के लिए संसाधन उपलब्ध होने चाहिए. साथ ही, ऐरे के एलिमेंट, अहमियत के बढ़ते हुए न्यूमेरिक वैल्यू वाले फ़ॉर्मैट में होने चाहिए. ऐरे में मौजूद पहला एलिमेंट, सबसे ज़रूरी इवेंट के लिए असाइन किए गए रिसॉर्स से जुड़ा होता है और आखिरी एलिमेंट सबसे कम ज़रूरी इवेंट से जुड़ा होता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
LoggingManagement
LoggingManagement( void )
LoggingManagement डिफ़ॉल्ट कंस्ट्रक्टर.
यह मुख्य तौर पर कंपाइलर को खुश करने के लिए दिया जाता है.
जानकारी | |
---|---|
लौटाए गए सामान |
MarkShutdownInProgress
void MarkShutdownInProgress( void )
m शटडाउन इंप्रोग्रेस फ़्लैग को 'सही है' पर सेट करें.
NotifyEventsDelivered
void NotifyEventsDelivered( ImportanceType inImportance, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID )
RegisterEventCallbackForImportance
WEAVE_ERROR RegisterEventCallbackForImportance( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, NotifyExternalEventsEvictedFunct inEvictedCallback, size_t inNumEvents, event_id_t *outLastEventID )
बाहर से सेव किए गए इवेंट के सेट को रजिस्टर करने के लिए सार्वजनिक एपीआई.
FetchExternalEventsFunct. इस एपीआई के लिए, प्लैटफ़ॉर्म को रजिस्ट्रेशन के बाद होने वाले इवेंट की संख्या जानना ज़रूरी है. इंटरनल वर्किंग के लिए भी, इस नंबर को कॉन्सटैंट रहना ज़रूरी है. यह एपीआई, प्लैटफ़ॉर्म को किसी खास इवेंट आईडी को रजिस्टर करने की अनुमति नहीं देता. इसलिए, यह प्लैटफ़ॉर्म को इवेंट (कम से कम यूनीक इवेंट आईडी के साथ) को लगातार सेव करने से रोकता है.
जब भी कोई सदस्य, रेंज के अंदर इवेंट आईडी फ़ेच करने की कोशिश करेगा, तब कॉलबैक को तब तक कॉल किया जाएगा, जब तक कि उसका रजिस्ट्रेशन रद्द नहीं कर दिया जाता.
फ़ंक्शन के इस वैरिएंट का इस्तेमाल तब करना चाहिए, जब सेवा देने वाली बाहरी कंपनी, सदस्य को इवेंट डिलीवर किए जाने और बाहरी इवेंट ऑब्जेक्ट को हटा देने, दोनों के बारे में सूचना पाना चाहे.
जब इवेंट डिलीवर हो जाते हैं, तो बाहरी सेवा देने वाली कंपनी को इसकी सूचना पाने वाले के नोड आईडी और उसे डिलीवर किए गए पिछले इवेंट के आईडी के साथ दी जाती है. ध्यान दें कि एक ही इवेंट आईडी के लिए, बाहरी कंपनी को कई बार सूचना दी जा सकती है. हैंडलर पर कोई खास पाबंदी नहीं है. खास तौर पर, हैंडलर बाहरी इवेंट आईडी का रजिस्ट्रेशन रद्द कर सकता है.
अगर बाहरी इवेंट ऑब्जेक्ट को लॉग बफ़र से निकाल दिया जाता है, तो बाहरी सेवा देने वाली कंपनी को बाहरी इवेंट ऑब्जेक्ट की एक कॉपी के साथ सूचना दी जाती है.
ऐसा न होने पर, ExternalEvents स्ट्रक्चर का पॉइंटर NULL हो जाएगा. ऐसा न होने पर, कॉलबैक को असाइन किए गए, शुरू और खत्म होने के इवेंट के आईडी से इसकी जानकारी अपने-आप भर जाएगी. इस पॉइंटर का इस्तेमाल, इवेंट के सेट का रजिस्ट्रेशन रद्द करने के लिए किया जाना चाहिए.
कॉलबैक को क्या लागू करना चाहिए, इस बारे में ज़्यादा जानकारी के लिए, FetchExternalEventsFunct के लिए दस्तावेज़ देखें.
जानकारी | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||
रिटर्न वैल्यू |
|
RegisterEventCallbackForImportance
WEAVE_ERROR RegisterEventCallbackForImportance( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, size_t inNumEvents, event_id_t *outLastEventID )
बाहर से सेव किए गए इवेंट के सेट को रजिस्टर करने के लिए सार्वजनिक एपीआई.
FetchExternalEventsFunct. इस एपीआई के लिए, प्लैटफ़ॉर्म को रजिस्ट्रेशन के बाद होने वाले इवेंट की संख्या जानना ज़रूरी है. इंटरनल वर्किंग के लिए भी, इस नंबर को कॉन्सटैंट रहना ज़रूरी है. यह एपीआई, प्लैटफ़ॉर्म को किसी खास इवेंट आईडी को रजिस्टर करने की अनुमति नहीं देता. इसलिए, यह प्लैटफ़ॉर्म को इवेंट (कम से कम यूनीक इवेंट आईडी के साथ) को लगातार सेव करने से रोकता है.
जब भी कोई सदस्य, रेंज के अंदर इवेंट आईडी फ़ेच करने की कोशिश करेगा, तब कॉलबैक को तब तक कॉल किया जाएगा, जब तक कि उसका रजिस्ट्रेशन रद्द नहीं कर दिया जाता.
फ़ंक्शन के इस वैरिएंट का इस्तेमाल तब करना चाहिए, जब सेवा देने वाली बाहरी कंपनी, सदस्य को इवेंट डिलीवर किए जाने की सूचना पाना चाहे. हालांकि, बाहरी इवेंट ऑब्जेक्ट को हटाए जाने पर नहीं. जब इवेंट डिलीवर हो जाते हैं, तो बाहरी सेवा देने वाली कंपनी को इसकी सूचना पाने वाले के नोड आईडी और उसे डिलीवर किए गए पिछले इवेंट के आईडी के साथ दी जाती है. ध्यान दें कि एक ही इवेंट आईडी के लिए, बाहरी कंपनी को कई बार सूचना दी जा सकती है. हैंडलर पर कोई खास पाबंदी नहीं है. खास तौर पर, हैंडलर बाहरी इवेंट आईडी का रजिस्ट्रेशन रद्द कर सकता है.
ऐसा न होने पर, ExternalEvents स्ट्रक्चर का पॉइंटर NULL हो जाएगा. ऐसा न होने पर, कॉलबैक को असाइन किए गए, शुरू और खत्म होने के इवेंट के आईडी से इसकी जानकारी अपने-आप भर जाएगी. इस पॉइंटर का इस्तेमाल, इवेंट के सेट का रजिस्ट्रेशन रद्द करने के लिए किया जाना चाहिए.
कॉलबैक को क्या लागू करना चाहिए, इस बारे में ज़्यादा जानकारी के लिए, FetchExternalEventsFunct के लिए दस्तावेज़ देखें.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
RegisterEventCallbackForImportance
WEAVE_ERROR RegisterEventCallbackForImportance( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, size_t inNumEvents, event_id_t *outLastEventID )
बाहर से सेव किए गए इवेंट के सेट को रजिस्टर करने के लिए सार्वजनिक एपीआई.
FetchExternalEventsFunct. इस एपीआई के लिए, प्लैटफ़ॉर्म को रजिस्ट्रेशन के बाद होने वाले इवेंट की संख्या जानना ज़रूरी है. इंटरनल वर्किंग के लिए भी, इस नंबर को कॉन्सटैंट रहना ज़रूरी है. यह एपीआई, प्लैटफ़ॉर्म को किसी खास इवेंट आईडी को रजिस्टर करने की अनुमति नहीं देता. इसलिए, यह प्लैटफ़ॉर्म को इवेंट (कम से कम यूनीक इवेंट आईडी के साथ) को लगातार सेव करने से रोकता है.
जब भी कोई सदस्य, रेंज के अंदर इवेंट आईडी फ़ेच करने की कोशिश करेगा, तब कॉलबैक को तब तक कॉल किया जाएगा, जब तक कि उसका रजिस्ट्रेशन रद्द नहीं कर दिया जाता.
फ़ंक्शन के इस वैरिएंट का इस्तेमाल तब करना चाहिए, जब बाहरी सेवा देने वाली कंपनी सूचना चाहे, तब भी बाहरी इवेंट डिलीवर न किए गए हों और न ही बाहरी इवेंट ऑब्जेक्ट को हटाया गया हो.
ऐसा न होने पर, ExternalEvents स्ट्रक्चर का पॉइंटर NULL हो जाएगा. ऐसा न होने पर, कॉलबैक को असाइन किए गए, शुरू और खत्म होने के इवेंट के आईडी से इसकी जानकारी अपने-आप भर जाएगी. इस पॉइंटर का इस्तेमाल, इवेंट के सेट का रजिस्ट्रेशन रद्द करने के लिए किया जाना चाहिए.
कॉलबैक को क्या लागू करना चाहिए, इस बारे में ज़्यादा जानकारी के लिए, FetchExternalEventsFunct के लिए दस्तावेज़ देखें.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
ScheduleFlushIfNeeded
WEAVE_ERROR ScheduleFlushIfNeeded( bool inFlushRequested )
लॉग ऑफ़लोड टास्क शेड्यूल करें.
यह फ़ंक्शन तय करता है कि किसी टास्क के ऑफ़लोड की प्रोसेस को शेड्यूल करना है या नहीं. अगर हां, तो यह LoggingFlushHandler
को Weave थ्रेड पर एसिंक्रोनस तरीके से चलाने के लिए शेड्यूल करता है.
फ़्लश शेड्यूल करने का फ़ैसला इन तीन बातों पर निर्भर करता है:
बफ़र को फ़्लश करने के लिए एक स्पष्ट अनुरोध
इवेंट बफ़र की स्थिति और डेटा की वह मात्रा जो अभी तक इवेंट उपभोक्ता के साथ सिंक नहीं की गई है
क्या कोई अनुरोध फ़्लश अनुरोध इवेंट पहले से लंबित है.
फ़्लश शेड्यूल करने का साफ़ तौर पर अनुरोध, इनपुट पैरामीटर के ज़रिए भेजा जाता है.
आम तौर पर, अपने-आप फ़्लश शेड्यूल तब होता है, जब इवेंट बफ़र में नया ऑफ़लोड शुरू करने के लिए ज़रूरी डेटा हो. ऑफ़लोड की रणनीति के आधार पर, ऑफ़लोड के बीच कम से कम और ज़्यादा से ज़्यादा समय जैसे अन्य ट्रिगर को भी ध्यान में रखा जा सकता है.
इवेंट लॉग की 'मंज़ूरी बाकी है' स्थिति, mUploadRequested
वैरिएबल से दिखती है. इस फ़ंक्शन को कई थ्रेड से कॉल किया जा सकता है. इसलिए, mUploadRequested
को अपने-आप पढ़ लेना और सेट करना ज़रूरी है, ताकि सूचना भेजने से पहले ग़ैर-ज़रूरी LoggingFlushHandler
शेड्यूल न किया जा सके.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
SerializeEvents
WEAVE_ERROR SerializeEvents( TLVWriter & writer )
Weave के हर तरह के इवेंट को सीरीज़ के तौर पर बनाएं.
यह WeaveCircularTLVBuffer और उससे जुड़ी स्थितियों को, दिए गए बफ़र में सीरीज़ के तौर पर दिखाता है.
यह तरीका उन डिवाइसों पर इस्तेमाल किया जाता है जो सोते समय रैम को बनाए नहीं रखते. इससे, उन्हें स्लीप मोड में जाने से पहले, इवेंट को बनाए रखने में मदद मिलती है. इससे, इवेंट खोने की संभावना से बचा जा सकता है
SetBDXUploader
void SetBDXUploader( LogBDXUpload *inUploader )
SetExchangeManager
WEAVE_ERROR SetExchangeManager( nl::Weave::WeaveExchangeManager *inMgr )
इस लॉगिंग सबसिस्टम के साथ इस्तेमाल करने के लिए, WeaveExchangeManager को सेट करें.
कुछ प्लैटफ़ॉर्म पर, ऐसा ऊपर दिए गए CreateLoggingManagement() से अलग से करना पड़ सकता है.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
SetLoggingEndpoint
WEAVE_ERROR SetLoggingEndpoint( event_id_t *inEventEndpoints, size_t inNumImportanceLevels, size_t & outLoggingPosition )
SkipEvent
void SkipEvent( EventLoadOutContext *aContext )
किसी दिए गए इवेंट आईडी से जुड़े इवेंट को लिखने की ज़रूरत छोड़ने के लिए हेल्पर फ़ंक्शन.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
ThrottleLogger
void ThrottleLogger( void )
ThrottleLogger, असरदार लॉगिंग लेवल को प्रोडक्शन लेवल तक बढ़ा देता है.
UnregisterEventCallbackForImportance
void UnregisterEventCallbackForImportance( ImportanceType inImportance, event_id_t inEventID )
बाहर से सेव किए गए इवेंट के सेट का रजिस्ट्रेशन रद्द करने के लिए सार्वजनिक एपीआई.
कॉलबैक का रजिस्ट्रेशन रद्द करने पर, LoggingManagement से इवेंट के सेट के लिए कॉलबैक को कॉल नहीं किया जा सकेगा. LoggingManagement अब उन इवेंट आईडी को सदस्यों को नहीं भेजेगा.
इसका मकसद सिर्फ़ एक फ़ंक्शन है, जो एक बार में इवेंट का एक सेट दिखाता है. अगर एक ही फ़ंक्शन का इस्तेमाल करके इवेंट के किसी नए सेट को रजिस्टर करने की ज़रूरत हो, तो पहले कॉलबैक का रजिस्ट्रेशन रद्द किया जाए और फिर उसे फिर से रजिस्टर किया जाए. इसका मतलब है कि इवेंट का मूल सेट अब फ़ेच नहीं किया जा सकता.
यह फ़ंक्शन बिना किसी शर्त के सफल होता है. अगर कॉलबैक को कभी रजिस्टर नहीं किया गया था या पहले से ही रजिस्टर नहीं किया गया था, तो इसका मतलब है कि उसे रजिस्टर नहीं किया गया है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
UnthrottleLogger
void UnthrottleLogger( void )
UnthrottleLogger, कॉन्फ़िगर किए गए लॉगिन लेवल को पहले जैसा करता है.
सार्वजनिक स्टैटिक फ़ंक्शन
CreateLoggingManagement
void CreateLoggingManagement( nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources )
LoggingManagement ऑब्जेक्ट बनाएं और दिए गए संसाधनों की मदद से, लॉगिंग मैनेजमेंट सबसिस्टम को शुरू करें.
LogStorageResources के कलेक्शन के साथ, LoggingManagement को शुरू करने के लिए. ऐरे में, अहमियत के हर मान्य लेवल के लिए संसाधन उपलब्ध होने चाहिए. साथ ही, ऐरे के एलिमेंट, अहमियत के बढ़ते हुए न्यूमेरिक वैल्यू वाले फ़ॉर्मैट में होने चाहिए. ऐरे में मौजूद पहला एलिमेंट, सबसे ज़रूरी इवेंट के लिए असाइन किए गए रिसॉर्स से जुड़ा होता है और आखिरी एलिमेंट सबसे कम ज़रूरी इवेंट से जुड़ा होता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
DestroyLoggingManagement
void DestroyLoggingManagement( void )
शटडाउन के दौरान ज़रूरी कार्रवाइयां करें.