nl:: Weave:: System:: Layer
#include <src/system/SystemLayer.h>
This provides access to timers according to the configured event handling model.
खास जानकारी
WEAVE_SYSTEM_CONFIG_USE_SOCKETS
के लिए, इवेंट रेडीनेस की सूचना को प्लैटफ़ॉर्म के हिसाब से तय करने के लिए, सामान्य पोल/चुने गए विकल्प से मैनेज किया जाता है.
WEAVE_SYSTEM_CONFIG_USE_LWIP
के लिए, इवेंट रेडीनेस की सूचना को इवेंट / मैसेज और प्लैटफ़ॉर्म- और इवेंट/मैसेज सिस्टम के लिए सिस्टम से जुड़े खास हुक के ज़रिए मैनेज किया जाता है.
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
Layer(void)
|
सार्वजनिक टाइप |
|
---|---|
EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument)
|
typedefError(*
|
TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError)
|
typedefvoid(*
|
सार्वजनिक फ़ंक्शन |
|
---|---|
AddEventHandlerDelegate(LwIPEventHandlerDelegate & aDelegate)
|
Error
इससे सिस्टम लेयर में इवेंट हैंडलर का डेलिगेट जुड़ जाता है, ताकि LwIP इवेंट मैनेज करने की उसकी क्षमता बढ़ाई जा सके.
|
CancelTimer(TimerCompleteFunct aOnComplete, void *aAppState)
|
void
इस तरीके से,
StartTimer() से शुरू हुए एक बार ट्रिगर होने वाले टाइमर को रद्द किया जाता है. |
DispatchEvent(Event aEvent)
|
Error
यह तय किए गए इवेंट को, इस इंस्टेंस से हैंडल करने के लिए भेजता है.
|
DispatchEvents(void)
|
Error
यह प्लैटफ़ॉर्म के हिसाब से होने वाले हुक के आस-पास, सिंटैक्स वाला रैपर है. यह किसी इवेंट लूप पर असर डालता है. यह उस सूची के लिए इंतज़ार करता है जो इस इंस्टेंस को सेवाएं देती है. इसके बाद, उस सूची में से इवेंट को बाहर निकाला जाता है, और फिर उन्हें हैंडल करने के लिए भेजा जाता है.
|
GetPlatformData(void) const
|
void *
इससे, इंस्टेंस को असाइन किया गया क्लाइंट का ऐसा कोई भी डेटा दिखता है जिसे पहले से सेट किया गया हो.
|
HandleEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
|
Error
यह वीव सिस्टम लेयर इवेंट को असल में डिस्पैच और हैंडलिंग के तरीके को लागू करता है.
|
HandlePlatformTimer(void)
|
Error
प्लैटफ़ॉर्म टाइमर के खत्म होने की जानकारी वाले इवेंट को मैनेज करें.
|
HandleSelectResult(int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet)
|
void
I/O को किसी चुनिंदा कॉल से मैनेज करें.
|
Init(void *aContext)
|
Error
|
NewTimer(Timer *& aTimerPtr)
|
Error
|
PostEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
|
Error
इससे, दिए गए आर्ग्युमेंट के साथ एक खास टाइप का इवेंट / मैसेज, इस इंस्टेंस के प्लैटफ़ॉर्म के हिसाब से बने इवेंट की सूची में पोस्ट किया जाता है.
|
PrepareSelect(int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime)
|
void
select() के साथ काम करने के लिए, फ़ाइल डिस्क्रिप्टर के सेट तैयार करें. |
ScheduleWork(TimerCompleteFunct aComplete, void *aAppState)
|
Error
TimerCompleteFunct के जैसे हस्ताक्षर वाले फ़ंक्शन को शेड्यूल करता है, ताकि Weave थ्रेड पर जल्द से जल्द चल सके. |
SetPlatformData(void *aPlatformData)
|
void
यह इंस्टेंस के लिए क्लाइंट के हिसाब से खास प्लैटफ़ॉर्म का डेटा सेट करता है, ताकि क्लाइंट प्लैटफ़ॉर्म को बाद में वापस पाया जा सके.
|
Shutdown(void)
|
Error
|
StartTimer(uint32_t aMilliseconds, TimerCompleteFunct aComplete, void *aAppState)
|
Error
यह तरीका एक बार इस्तेमाल होने वाला टाइमर शुरू करता है.
|
State(void) const
|
LayerState
यह लेयर ऑब्जेक्ट की मौजूदा स्थिति दिखाता है.
|
WakeSelect(void)
|
void
वेक पाइप पर सिंगल बाइट लिखकर, Select() का इस्तेमाल करके फ़ाइल डिस्क्रिप्टर पर नज़र रखने वाले I/O थ्रेड को चालू करें.
|
सार्वजनिक स्टैटिक फ़ंक्शन |
|
---|---|
GetClock_Monotonic(void)
|
uint64_t
माइक्रोसेकंड की इकाइयों में मोनोटोनिक सिस्टम का समय दिखाता है.
|
GetClock_MonotonicHiRes(void)
|
uint64_t
माइक्रोसेकंड की इकाइयों में (संभावित रूप से) ज़्यादा रिज़ॉल्यूशन वाले मोनोटोनिक सिस्टम का समय दिखाता है.
|
GetClock_MonotonicMS(void)
|
uint64_t
मिलीसेकंड की इकाइयों में मोनोटोनिक सिस्टम का समय दिखाता है.
|
GetClock_RealTime(uint64_t & curTime)
|
Error
माइक्रोसेकंड यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय दिखाता है.
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
मौजूदा असल (सिविल) समय को मिलीसेकंड यूनिक्स टाइम फ़ॉर्मैट में दिखाता है.
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
प्लैटफ़ॉर्म के हिसाब से, मौजूदा रीयल (सिविल) समय को सेट करता है.
|
सार्वजनिक टाइप
EventHandler
Error(* EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument)
TimerCompleteFunct
void(* TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError)
सार्वजनिक फ़ंक्शन
AddEventHandlerDelegate
Error AddEventHandlerDelegate( LwIPEventHandlerDelegate & aDelegate )
इससे सिस्टम लेयर में इवेंट हैंडलर का डेलिगेट जुड़ जाता है, ताकि LwIP इवेंट मैनेज करने की उसकी क्षमता बढ़ाई जा सके.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
CancelTimer
void CancelTimer( TimerCompleteFunct aOnComplete, void *aAppState )
इस तरीके से, StartTimer()
से शुरू हुए एक बार ट्रिगर होने वाले टाइमर को रद्द किया जाता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
DispatchEvent
Error DispatchEvent( Event aEvent )
यह तय किए गए इवेंट को, इस इंस्टेंस से हैंडल करने के लिए भेजता है.
इवेंट के टाइप और आर्ग्युमेंट को अलग-अलग प्लैटफ़ॉर्म के हुक की मदद से मैनेज किया जाता है. हुक को असल डिस्पैच के लिए, layer::HandleEvent को वापस कॉल किया जाना चाहिए.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
सफल होने पर WEAVE_ सिस्टम_NO_ERROR मौजूद थे. ऐसा न होने पर, यह एक खास गड़बड़ी हो सकती है. यह गड़बड़ी, शुरू करने के दौरान हुई गड़बड़ी की वजह बताती है.
|
DispatchEvents
Error DispatchEvents( void )
यह प्लैटफ़ॉर्म के हिसाब से होने वाले हुक के आस-पास, सिंटैक्स वाला रैपर है. यह किसी इवेंट लूप पर असर डालता है. यह उस सूची के लिए इंतज़ार करता है जो इस इंस्टेंस को सेवाएं देती है. इसके बाद, उस सूची में से इवेंट को बाहर निकाला जाता है, और फिर उन्हें हैंडल करने के लिए भेजा जाता है.
जानकारी | |
---|---|
लौटाए गए सामान |
सफल होने पर WEAVE_SYSTEM_NO_ERROR का इस्तेमाल नहीं किया जा सकेगा. अगर ऐसा नहीं है, तो यह एक ऐसी गड़बड़ी है जो इस बार शुरू नहीं हो पाने की वजह बताती है.
|
GetPlatformData
void * GetPlatformData( void ) const
इससे, इंस्टेंस को असाइन किया गया क्लाइंट का ऐसा कोई भी डेटा दिखता है जिसे पहले से सेट किया गया हो.
जानकारी | |
---|---|
लौटाए गए सामान |
क्लाइंट के लिए बना प्लैटफ़ॉर्म डेटा, अगर पहले से सेट किया गया हो; अगर ऐसा नहीं है, तो यह अमान्य है.
|
HandleEvent
Error HandleEvent( Object & aTarget, EventType aEventType, uintptr_t aArgument )
यह वीव सिस्टम लेयर इवेंट को असल में डिस्पैच और हैंडलिंग के तरीके को लागू करता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
HandlePlatformTimer
Error HandlePlatformTimer( void )
प्लैटफ़ॉर्म टाइमर के खत्म होने की जानकारी वाले इवेंट को मैनेज करें.
कॉल nl::Weave::System::Timer::HandleExpiredTimers, ताकि वे टाइमर मैनेज कर सकें जिनकी समयसीमा खत्म हो चुकी है. यह माना जाता है कि इस एपीआई को सिर्फ़ उस थ्रेड पर कॉल किया जाता है जिसमें Weave System लेयर ऑब्जेक्ट का मालिकाना हक है.
जानकारी | |
---|---|
लौटाए गए सामान |
सफलता पर WEAVE_ सिस्टम_NO_ERROR, नहीं तो गड़बड़ी कोड.
|
HandleSelectResult
void HandleSelectResult( int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet )
I/O को किसी चुनिंदा कॉल से मैनेज करें.
यह तरीका, हर ऐक्टिव एंडपॉइंट में बचे हुए I/O इवेंट को रजिस्टर करता है. इसके बाद, उन एंडपॉइंट से जुड़े I/O हैंडलिंग फ़ंक्शन को शुरू करता है.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
शुरू करें
Error Init( void *aContext )
परत
Layer( void )
NewTimer
Error NewTimer( Timer *& aTimerPtr )
PostEvent
Error PostEvent( Object & aTarget, EventType aEventType, uintptr_t aArgument )
इससे, दिए गए आर्ग्युमेंट के साथ एक खास टाइप का इवेंट / मैसेज, इस इंस्टेंस के प्लैटफ़ॉर्म के हिसाब से बने इवेंट की सूची में पोस्ट किया जाता है.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
PrepareSelect
void PrepareSelect( int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime )
select()
के साथ काम करने के लिए, फ़ाइल डिस्क्रिप्टर के सेट तैयार करें.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
ScheduleWork
Error ScheduleWork( TimerCompleteFunct aComplete, void *aAppState )
TimerCompleteFunct
के जैसे हस्ताक्षर वाले फ़ंक्शन को शेड्यूल करता है, ताकि Weave थ्रेड पर जल्द से जल्द चल सके.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
यह इंस्टेंस के लिए क्लाइंट के हिसाब से खास प्लैटफ़ॉर्म का डेटा सेट करता है, ताकि क्लाइंट प्लैटफ़ॉर्म को बाद में वापस पाया जा सके.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
बंद है
Error Shutdown( void )
StartTimer
Error StartTimer( uint32_t aMilliseconds, TimerCompleteFunct aComplete, void *aAppState )
यह तरीका एक बार इस्तेमाल होने वाला टाइमर शुरू करता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
लौटाए गए सामान |
WEAVE_system_NO_ERROR सफल होने पर.
|
||||||
लौटाए गए सामान |
WEAVE_ सिस्टम_ERROR_NO_MEMORY अगर टाइमर असाइन नहीं किया जा सकता.
|
||||||
लौटाए गए सामान |
टाइमर से पता चलता है कि टाइमर शुरू नहीं हो सका.
|
स्थिति
LayerState State( void ) const
यह लेयर ऑब्जेक्ट की मौजूदा स्थिति दिखाता है.
WakeSelect
void WakeSelect( void )
वेक पाइप पर सिंगल बाइट लिखकर, Select() का इस्तेमाल करके फ़ाइल डिस्क्रिप्टर पर नज़र रखने वाले I/O थ्रेड को चालू करें.
ध्यान दें: अगर WakeSelect()
को HandleSelectResult()
के अंदर से कॉल किया जाता है, तो वेक पाइप पर लिखने की सुविधा को स्किप किया जा सकता है, क्योंकि I/O थ्रेड पहले से ही चालू है.
इसके अलावा, अगर ऐसा नहीं होता है, तो हम उस पर ध्यान नहीं देते, क्योंकि पाइप के भर जाने की वजह से सिर्फ़ यह गड़बड़ी हो सकती है. ऐसा होने पर, चुने गए कॉलिंग थ्रेड फिर भी चालू हो जाएगा.
सार्वजनिक स्टैटिक फ़ंक्शन
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
माइक्रोसेकंड की इकाइयों में मोनोटोनिक सिस्टम का समय दिखाता है.
यह फ़ंक्शन, प्लैटफ़ॉर्म के मुताबिक तय किए गए Epoch के बाद से माइक्रोसेकंड में बीता हुआ समय दिखाता है. यह वैल्यू इस बात की गारंटी देती है कि सिस्टम को फिर से चालू करने पर यह लगातार बढ़ता जाएगा (यानी कभी भी रैप नहीं होगा). इसके अलावा, मौजूदा समय के सोर्स की गारंटी है कि वह सिस्टम स्लीप मोड के दौरान लगातार टिक जाएगा और स्क्रीन चालू होने पर उसे रीस्टार्ट करना ज़रूरी नहीं होगा.
हालांकि, कुछ प्लैटफ़ॉर्म ऐसा वैल्यू दिखा सकते हैं जो सिस्टम के चालू होने के बाद के समय को मापता है, ऐप्लिकेशन को इस पर भरोसा नहीं करना चाहिए. इसके अलावा, GetClock_Monotonic() के लिए epoch का इस्तेमाल, किसी भी अन्य getClock... फ़ंक्शन के लिए इस्तेमाल किए जाने वाले epoch के जैसा होना ज़रूरी नहीं है. इसलिए, रिलेटिव टाइम की गिनती सिर्फ़ उसी फ़ंक्शन से लौटाए गए वैल्यू के लिए की जा सकती है.
यह फ़ंक्शन, थ्रेड की सुविधा इस्तेमाल करने वाले किसी भी प्लैटफ़ॉर्म पर, थ्रेड के लिए सुरक्षित होगा.
जानकारी | |
---|---|
लौटाए गए सामान |
प्लैटफ़ॉर्म के मुताबिक तय किए गए Epoch के बाद से, माइक्रोसेकंड में बीत चुका समय.
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
माइक्रोसेकंड की इकाइयों में (संभावित रूप से) ज़्यादा रिज़ॉल्यूशन वाले मोनोटोनिक सिस्टम का समय दिखाता है.
यह फ़ंक्शन, प्लैटफ़ॉर्म के मुताबिक तय किए गए Epoch के बाद से माइक्रोसेकंड में बीता हुआ समय दिखाता है. यह वैल्यू इस बात की गारंटी देती है कि सिस्टम को फिर से चालू करने पर यह लगातार बढ़ता जाएगा (यानी कभी भी रैप नहीं होगा). हालांकि, सिस्टम में गहरी नींद की स्थिति के दौरान लगातार टिकने के लिए, बुनियादी टाइमर की ज़रूरत नहीं होती है.
कुछ प्लैटफ़ॉर्म, हाई-रिज़ॉल्यूशन टाइमर का इस्तेमाल करके GetClock_MonotonicHiRes() को लागू कर सकते हैं. यह टाइमर, GetClock_Monotonic() से ज़्यादा सटीक होता है. साथ ही, इसमें धीरे-धीरे क्लॉक अडजस्टमेंट (स्लीविंग) नहीं होते. बिना टाइमर वाले सिस्टम, बस GetClock_Monotonic() की तरह ही वैल्यू दिखा सकते हैं.
GetClock_MonotonicHiRes() से मिले समय के लिए Epoch के लिए सेट किए गए समय की ज़रूरत नहीं होती है. इसके लिए, GetClock_Monotonic() के साथ ही, अन्य किसी भी getClock... फ़ंक्शन के लिए, समय का इस्तेमाल करना ज़रूरी नहीं है.
यह फ़ंक्शन, थ्रेड की सुविधा इस्तेमाल करने वाले किसी भी प्लैटफ़ॉर्म पर, थ्रेड के लिए सुरक्षित होगा.
जानकारी | |
---|---|
लौटाए गए सामान |
प्लैटफ़ॉर्म के मुताबिक तय किए गए Epoch के बाद से, माइक्रोसेकंड में बीत चुका समय.
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
मिलीसेकंड की इकाइयों में मोनोटोनिक सिस्टम का समय दिखाता है.
यह फ़ंक्शन, प्लैटफ़ॉर्म के मुताबिक तय किए गए एक epoch के बाद से, मिलीसेकंड में बीता हुआ समय दिखाता है. यह वैल्यू इस बात की गारंटी देती है कि सिस्टम को फिर से चालू करने पर यह लगातार बढ़ता जाएगा (यानी कभी भी रैप नहीं होगा). इसके अलावा, मौजूदा समय के सोर्स की गारंटी है कि वह सिस्टम स्लीप मोड के दौरान लगातार टिक जाएगा और स्क्रीन चालू होने पर उसे रीस्टार्ट करना ज़रूरी नहीं होगा.
हालांकि, कुछ प्लैटफ़ॉर्म ऐसा वैल्यू दिखा सकते हैं जो सिस्टम के चालू होने के बाद के समय को मापता है, ऐप्लिकेशन को इस पर भरोसा नहीं करना चाहिए. इसके अलावा, GetClock_Monotonic() के लिए epoch का इस्तेमाल, किसी भी अन्य getClock... फ़ंक्शन के लिए इस्तेमाल किए जाने वाले epoch के जैसा होना ज़रूरी नहीं है. इसलिए, रिलेटिव टाइम की गिनती सिर्फ़ उसी फ़ंक्शन से लौटाए गए वैल्यू के लिए की जा सकती है.
यह फ़ंक्शन, थ्रेड की सुविधा इस्तेमाल करने वाले किसी भी प्लैटफ़ॉर्म पर, थ्रेड के लिए सुरक्षित होगा.
जानकारी | |
---|---|
लौटाए गए सामान |
किसी आर्बिट्रेरी, प्लैटफ़ॉर्म के मुताबिक तय किए गए समय के बाद से, मिलीसेकंड में बीत चुका समय.
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
माइक्रोसेकंड यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय दिखाता है.
यह तरीका, लोकल प्लैटफ़ॉर्म के मौजूदा रीयल टाइम का अनुमान दिखाता है. इसे माइक्रोसेकंड में स्केल किए गए यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाता है. इसमें मौजूद घड़ी में कम से कम पूरे सेकंड (10,00,000 की वैल्यू) में सटीक घड़ी होगी. हालांकि, कुछ प्लैटफ़ॉर्म पर यह तेज़ी से चल सकता है.
अगर सिस्टम में इस्तेमाल किया गया प्लैटफ़ॉर्म रीयल टाइम को ट्रैक कर सकता है, लेकिन सिस्टम फ़िलहाल सिंक नहीं है, तो GetClock_RealTime() गड़बड़ी WEAVE_system_ERROR_REAL_TIME_NOT_SYNCED दिखाएगा.
रीयल टाइम को ट्रैक नहीं कर सकने वाले प्लैटफ़ॉर्म पर, हो सकता है कि GetClock_RealTime() तरीका न दिखे. इसकी वजह से, इसे इस्तेमाल करने वाले सभी ऐप्लिकेशन के लिंक में गड़बड़ी हो जाएगी. इसके अलावा, ऐसे प्लैटफ़ॉर्म GetClock_RealTime() को लागू कर सकते हैं जो हमेशा गड़बड़ी WEAVE_ सिस्टम_ERROR_NOT_SUPPORTED दिखाता है.
यह फ़ंक्शन, थ्रेड की सुविधा इस्तेमाल करने वाले किसी भी प्लैटफ़ॉर्म पर, थ्रेड के लिए सुरक्षित होगा.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
मौजूदा असल (सिविल) समय को मिलीसेकंड यूनिक्स टाइम फ़ॉर्मैट में दिखाता है.
यह तरीका, स्थानीय प्लैटफ़ॉर्म के मौजूदा रीयल टाइम के बारे में बताता है. इसे मिलीसेकंड में स्केल किए गए यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाता है. इसमें मौजूद घड़ी में कम से कम पूरे सेकंड (10,00,000 की वैल्यू) में सटीक घड़ी होगी. हालांकि, कुछ प्लैटफ़ॉर्म पर यह तेज़ी से चल सकता है.
अगर सिस्टम में मौजूद प्लैटफ़ॉर्म रीयल टाइम को ट्रैक कर सकता है, लेकिन सिस्टम फ़िलहाल सिंक नहीं है, तो GetClock_RealTimeMS() गड़बड़ी WEAVE_System_ERROR_REAL_TIME_NOT_SYNCED दिखाएगा.
रीयल टाइम को ट्रैक नहीं कर सकने वाले प्लैटफ़ॉर्म पर, हो सकता है कि GetClock_RealTimeMS() तरीका न दिखे. इसकी वजह से, इसे इस्तेमाल करने वाले सभी ऐप्लिकेशन के लिंक में गड़बड़ी हो जाएगी. इसके अलावा, इस तरह के प्लैटफ़ॉर्म GetClock_RealTimeMS() को लागू कर सकते हैं जो हमेशा WEAVE_ सिस्टम_ERROR_NOT_SUPPORTED गड़बड़ी दिखाता है.
यह फ़ंक्शन, थ्रेड की सुविधा इस्तेमाल करने वाले किसी भी प्लैटफ़ॉर्म पर, थ्रेड के लिए सुरक्षित होगा.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
प्लैटफ़ॉर्म के हिसाब से, मौजूदा रीयल (सिविल) समय को सेट करता है.
लोकल प्लैटफ़ॉर्म का मौजूदा रीयल टाइम नज़रिया सेट करने के लिए, ऐप्लिकेशन इस फ़ंक्शन को कॉल कर सकते हैं. नए मौजूदा समय को माइक्रोसेकंड में स्केल किए गए यूनिक्स समय के मान के रूप में दिखाया जाता है.
इस बात की गारंटी है कि सेट हो जाने के बाद, मौजूदा प्लैटफ़ॉर्म की घड़ी, रीयल टाइम में हर जानकारी के साथ, कम से कम पूरे सेकंड का डेटा ट्रैक कर पाएगी.
कुछ प्लैटफ़ॉर्म यह पाबंदी लगा सकते हैं कि कौनसे ऐप्लिकेशन या प्रोसेस रीयल-टाइम सेट कर सकती हैं. अगर कॉलर को रीयल टाइम बदलने की अनुमति नहीं है, तो SetClock_RealTime() फ़ंक्शन गड़बड़ी WEAVE_ सिस्टम_ERROR_ACCESS_DENIED दिखाएगा.
ऐसे प्लैटफ़ॉर्म जो रीयल टाइम को ट्रैक नहीं कर सकते या रीयल टाइम सेट करने की सुविधा नहीं देते उन पर हो सकता है कि SetClock_RealTime() फ़ंक्शन मौजूद न हो. इसकी वजह से, इसे इस्तेमाल करने वाले सभी ऐप्लिकेशन के लिंक में गड़बड़ी हो सकती है. इसके अलावा, ऐसे प्लैटफ़ॉर्म SetClock_RealTime() को लागू करने की सुविधा दे सकते हैं जो हमेशा WEAVE_ सिस्टम_ERROR_NOT_SUPPORTED गड़बड़ी दिखाता है.
यह फ़ंक्शन, थ्रेड की सुविधा इस्तेमाल करने वाले किसी भी प्लैटफ़ॉर्म पर, थ्रेड के लिए सुरक्षित होगा.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|