nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
ऐप्लिकेशन के हिसाब से WDM क्लाइंट के लिए ऐब्स्ट्रैक्ट बेस क्लास.
खास जानकारी
DMClient, स्टैंडर्ड WDM क्लाइंट है. इसे लागू करने के लिए, सदस्यता या सूचना को शामिल करना ज़रूरी नहीं है. यह DM ProtocolEngine क्लास, जो कम्यूनिकेशन क्रैंक टर्निंग, और पूरी तरह से ऐब्स्ट्रैक्ट ClientDataManager क्लास का एक मिला-जुला रूप है. इसमें सदस्यता से जुड़े कुछ तरीके लागू किए गए हैं, ताकि ज़्यादा लेयर को उनके बारे में चिंता न करनी पड़े.
सदस्यता से जुड़े कामों के लिए हैंडलर, मुख्य रूप से ClientNotifier ऑब्जेक्ट पर थिन अडैप्टर के तौर पर काम करते हैं. सब-क्लास लागू करने वाले लोगों को ध्यान रखना चाहिए कि वे सही सुपर-क्लास तरीकों को कॉल कर सकें, ताकि सब्सक्रिप्शन मैनेजर क्रैंक को बदला जा सके.
DMClient अनुरोध के तरीकों में आम तौर पर 2 हस्ताक्षर होते हैं, एक में साफ़ तौर पर डेस्टिनेशन नोड आईडी होता है और दूसरे में खास डेस्टिनेशन होता है. दोनों ही मामलों में, किसी पब्लिशर को मैसेज भेजने की सुविधा, क्लाइंट में पहले से मौजूद बाइंडिंग पर निर्भर करती है. हालांकि, पहले मामले में, डेस्टिनेशन आईडी को एक से ज़्यादा बाउंड डेस्टिनेशन में से चुना जाता है. दूसरे मामले में, बाइंडिंग टेबल में पहले आइटम को डिफ़ॉल्ट के तौर पर चुना जाता है. उदाहरण के लिए, यह तब उपयोगी होता है, जब क्लाइंट कभी भी एक ही पब्लिशर से बाध्य हो.
इनहेरिटेंस
इनसे इनहेरिट किया जाता है:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
DMClient(void)
DMClient ऑब्जेक्ट के लिए डिफ़ॉल्ट कंस्ट्रक्टर.
|
|
~DMClient(void)
DMClient ऑब्जेक्ट का डिस्ट्रक्टर.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
पब्लिश किए गए डेटा को देखने का अनुरोध करें.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
डिफ़ॉल्ट पब्लिशर पर डेटा देखने का अनुरोध करें.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
पब्लिश किए गए डेटा को अपडेट करने का अनुरोध करें.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
डिफ़ॉल्ट पब्लिशर के डेटा को अपडेट करने का अनुरोध करें.
|
सुरक्षित किए गए एट्रिब्यूट |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
सार्वजनिक फ़ंक्शन |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
चल रहे लेन-देन को रद्द करने का अनुरोध करें.
|
Clear(void)
|
virtual void
DMClient ऑब्जेक्ट से जुड़ी अंदरूनी स्थिति हटाएं.
|
Finalize(void)
|
virtual void
किसी चालू DMClient को बंद करें.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
"पूरी नहीं होने की समस्या" को मैनेज करना बाइंडिंग की ज़रूरत है.
|
सुरक्षित फ़ंक्शन |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
पब्लिश किए गए डेटा को देखने का अनुरोध करें.
किसी खास रिमोट पब्लिशर पर मौजूद और उससे मैनेज किए जा रहे डेटा को देखने का अनुरोध करें.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
||||||||
लौटाए जाने वाले प्रॉडक्ट |
अगर ऐसा नहीं है, तो लेन-देन शुरू या शुरू नहीं हो पाने की जानकारी देने वाला WEAVE_ERROR.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
डिफ़ॉल्ट पब्लिशर पर डेटा देखने का अनुरोध करें.
"डिफ़ॉल्ट" पर मौजूद और मैनेज किए जा रहे डेटा के व्यू का अनुरोध करें प्रकाशक, यानी क्लाइंट की बाइंडिंग टेबल में पहला (या सिर्फ़) प्रकाशक.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
||||||
लौटाए जाने वाले प्रॉडक्ट |
अगर ऐसा नहीं है, तो लेन-देन शुरू या शुरू नहीं हो पाने की जानकारी देने वाला WEAVE_ERROR.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
पब्लिश किए गए डेटा को अपडेट करने का अनुरोध करें.
अनुरोध करें कि रिमोट पब्लिशर, मैनेजमेंट के तहत डेटा अपडेट करें.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
लौटाए जाने वाले प्रॉडक्ट |
सफलता मिलने पर WEAVE_NO_ERROR या अगर अपडेट लेन-देन असाइन नहीं हो पाता है तो WEAVE_ERROR_NO_MEMORY. अगर ऐसा नहीं है, तो अपडेट न होने की जानकारी देने वाला WEAVE_ERROR दिखाएं.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
डिफ़ॉल्ट पब्लिशर के डेटा को अपडेट करने का अनुरोध करें.
अनुरोध करें कि रिमोट पब्लिशर, मैनेजमेंट के तहत डेटा अपडेट करें. यह वर्शन, उस पब्लिशर को अनुरोध भेजता है जो क्लाइंट की डिफ़ॉल्ट बाइंडिंग का टारगेट है.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
लौटाए जाने वाले प्रॉडक्ट |
सफलता मिलने पर WEAVE_NO_ERROR या अगर अपडेट लेन-देन असाइन नहीं हो पाता है तो WEAVE_ERROR_NO_MEMORY. अगर ऐसा नहीं है, तो अपडेट न होने की जानकारी देने वाला WEAVE_ERROR दिखाएं.
|
सुरक्षित किए गए एट्रिब्यूट
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
सार्वजनिक फ़ंक्शन
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
चल रहे लेन-देन को रद्द करने का अनुरोध करें.
इस तरीके से नेटवर्क ट्रैफ़िक जनरेट नहीं होता, बल्कि सिर्फ़ तय किए गए लेन-देन के लिए तय संसाधन रिलीज़ किए जाते हैं
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए जाने वाले प्रॉडक्ट |
सफल होने पर WEAVE_NO_ERROR या लेन-देन रद्द न हो पाने को दिखाने वाला WEAVE_ERROR.
|
मिटाएं
virtual void Clear( void )
DMClient ऑब्जेक्ट से जुड़ी अंदरूनी स्थिति हटाएं.
खास तौर पर, यह तरीका क्लाइंट के ट्रांज़ैक्शन पूल से सभी डेटा हटा देता है. FINALize() तरीके का इस्तेमाल कर रहे क्लाइंट को प्राथमिकता दी जाती है, क्योंकि इससे सदस्यताएं रद्द भी हो जाती हैं. साथ ही, ट्रांज़ैक्शन और बाइंडिंग टेबल भी साफ़ हो जाती हैं.
यह भी देखें:फ़ाइनल करें()
DMClient
DMClient( void )
बिलिंग करें
virtual void Finalize( void )
किसी चालू DMClient को बंद करें.
क्लाइंट से जुड़ी सभी कार्रवाइयों की स्थिति मिटा देता है. साथ ही, सूचना देने वाली सुविधा से सभी मिलती-जुलती सदस्यताएं हटा देता है. FINALize() को कॉल करने के बाद, DMClient को फिर से शुरू करना हो सकता है. ऐसा करने के लिए, बस Init() को कॉल करना होगा. FINALize() को DMClient डिस्ट्रक्टर से शुरू किया जाता है. हालांकि, इसे तब कॉल किया जा सकता है, जब DMClient को क्लीनअप करने की ज़रूरत होती है, जैसे कि काम नहीं कर पाएगा या कुछ समय के लिए बंद हो जाएगा. हालांकि, हो सकता है कि बाद में इस सेटिंग को फिर से शुरू करना पड़े.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
"पूरी नहीं होने की समस्या" को मैनेज करना एक बाइंडिंग है.
जब बाइंडिंग अचानक नाकाम हो जाती है, जैसे कि अगर बाइंडिंग में शामिल कनेक्शन बंद है, तो इस तरीके को कॉल किया जाता है.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
~DMClient
virtual ~DMClient( void )
DMClient ऑब्जेक्ट का डिस्ट्रक्टर.
सभी अंदरूनी स्थिति मिटा देता है और ज़रूरी होने पर, उन सदस्यताओं को रद्द कर देता है जिन्हें मंज़ूरी मिलना बाकी है.