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
)

पब्लिश किए गए डेटा को देखने का अनुरोध करें.

किसी खास रिमोट पब्लिशर पर मौजूद और उससे मैनेज किए जा रहे डेटा को देखने का अनुरोध करें.

ब्यौरा
पैरामीटर
[in] aDestinationId
रिमोट पब्लिशर के 64-बिट नोड आईडी का रेफ़रंस.
[in] aPathList
ReferencedTLVData ऑब्जेक्ट का रेफ़रंस, जिसमें टीएलवी के लिए कोड में बदली गई पाथ सूची होती है. यह सूची, अनुरोध किए गए डेटा के बारे में बताती है.
[in] aTxnId
इस व्यू ऑपरेशन को मैनेज करने के लिए, सेट अप किए गए WDM ट्रांज़ैक्शन का आइडेंटिफ़ायर.
[in] aTimeout
व्यू के जवाब के लिए इंतज़ार का समय, मिलीसेकंड में.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
WEAVE_ERROR_NO_MEMORY
अगर किसी लेन-देन के लिए रकम असाइन नहीं हो पाई.
लौटाए जाने वाले प्रॉडक्ट
अगर ऐसा नहीं है, तो लेन-देन शुरू या शुरू नहीं हो पाने की जानकारी देने वाला WEAVE_ERROR.

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

डिफ़ॉल्ट पब्लिशर पर डेटा देखने का अनुरोध करें.

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

ब्यौरा
पैरामीटर
[in] aPathList
ReferencedTLVData ऑब्जेक्ट का रेफ़रंस, जिसमें टीएलवी के लिए कोड में बदली गई पाथ सूची होती है. यह सूची, अनुरोध किए गए डेटा के बारे में बताती है.
[in] aTxnId
इस व्यू ऑपरेशन को मैनेज करने के लिए, सेट अप किए गए WDM ट्रांज़ैक्शन का आइडेंटिफ़ायर.
[in] aTimeout
व्यू के जवाब के लिए इंतज़ार का समय, मिलीसेकंड में.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
WEAVE_ERROR_NO_MEMORY
अगर किसी लेन-देन के लिए रकम असाइन नहीं हो पाई.
लौटाए जाने वाले प्रॉडक्ट
अगर ऐसा नहीं है, तो लेन-देन शुरू या शुरू नहीं हो पाने की जानकारी देने वाला WEAVE_ERROR.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

पब्लिश किए गए डेटा को अपडेट करने का अनुरोध करें.

अनुरोध करें कि रिमोट पब्लिशर, मैनेजमेंट के तहत डेटा अपडेट करें.

ब्यौरा
पैरामीटर
[in] aDestinationId
रिमोट पब्लिशर के 64-बिट नोड आईडी का रेफ़रंस, जिस पर अनुरोध भेजा जा रहा है.
[in] aDataList
ReferencedTLVData ऑब्जेक्ट का रेफ़रंस, जिसमें TLV कोड में बदली गई डेटा सूची होती है. इसमें अपडेट के बारे में बताया जाता है. इसमें वह पाथ भी शामिल होता है जिस पर अपडेट लागू किया जाना है.
[in] aTxnId
अपडेट के अनुरोध को मैनेज करने के लिए सेट अप किए गए लेन-देन का आइडेंटिफ़ायर.
[in] aTimeout
स्थिति की जानकारी देने वाली रिपोर्ट तक पहुंचने में लगने वाला ज़्यादा से ज़्यादा समय, मिलीसेकंड में.
लौटाए जाने वाले प्रॉडक्ट
सफलता मिलने पर WEAVE_NO_ERROR या अगर अपडेट लेन-देन असाइन नहीं हो पाता है तो WEAVE_ERROR_NO_MEMORY. अगर ऐसा नहीं है, तो अपडेट न होने की जानकारी देने वाला WEAVE_ERROR दिखाएं.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

डिफ़ॉल्ट पब्लिशर के डेटा को अपडेट करने का अनुरोध करें.

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

ब्यौरा
पैरामीटर
[in] aDataList
ReferencedTLVData ऑब्जेक्ट का रेफ़रंस, जिसमें TLV कोड में बदली गई डेटा सूची होती है. इसमें अपडेट के बारे में बताया जाता है. इसमें वह पाथ भी शामिल होता है जिस पर अपडेट लागू किया जाना है.
[in] aTxnId
अपडेट के अनुरोध को मैनेज करने के लिए सेट अप किए गए लेन-देन का आइडेंटिफ़ायर.
[in] 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
)

चल रहे लेन-देन को रद्द करने का अनुरोध करें.

इस तरीके से नेटवर्क ट्रैफ़िक जनरेट नहीं होता, बल्कि सिर्फ़ तय किए गए लेन-देन के लिए तय संसाधन रिलीज़ किए जाते हैं

ब्यौरा
पैरामीटर
[in] aTxnId
रद्द किए जाने वाले लेन-देन की संख्या. अगर kTransactionIdNot उपयोगकर्ता दिया गया है, तो सभी ट्रांज़ैक्शन रद्द हो जाएंगे.
[in] aError
लेन-देन को रद्द करते समय, रिपोर्ट करने के लिए WEAVE_ERROR.
लौटाए जाने वाले प्रॉडक्ट
सफल होने पर WEAVE_NO_ERROR या लेन-देन रद्द न हो पाने को दिखाने वाला WEAVE_ERROR.

मिटाएं

virtual void Clear(
  void
)

DMClient ऑब्जेक्ट से जुड़ी अंदरूनी स्थिति हटाएं.

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

यह भी देखें:
फ़ाइनल करें()

DMClient

 DMClient(
  void
)

DMClient ऑब्जेक्ट के लिए डिफ़ॉल्ट कंस्ट्रक्टर.

सभी अंदरूनी स्थिति को हटाता है. DMClient को इस्तेमाल करने से पहले, Init() के साथ शुरू करना पड़ता है.

बिलिंग करें

virtual void Finalize(
  void
)

किसी चालू DMClient को बंद करें.

क्लाइंट से जुड़ी सभी कार्रवाइयों की स्थिति मिटा देता है. साथ ही, सूचना देने वाली सुविधा से सभी मिलती-जुलती सदस्यताएं हटा देता है. FINALize() को कॉल करने के बाद, DMClient को फिर से शुरू करना हो सकता है. ऐसा करने के लिए, बस Init() को कॉल करना होगा. FINALize() को DMClient डिस्ट्रक्टर से शुरू किया जाता है. हालांकि, इसे तब कॉल किया जा सकता है, जब DMClient को क्लीनअप करने की ज़रूरत होती है, जैसे कि काम नहीं कर पाएगा या कुछ समय के लिए बंद हो जाएगा. हालांकि, हो सकता है कि बाद में इस सेटिंग को फिर से शुरू करना पड़े.

IncompleteIndication

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

"पूरी नहीं होने की समस्या" को मैनेज करना एक बाइंडिंग है.

जब बाइंडिंग अचानक नाकाम हो जाती है, जैसे कि अगर बाइंडिंग में शामिल कनेक्शन बंद है, तो इस तरीके को कॉल किया जाता है.

ब्यौरा
पैरामीटर
[in] aBinding
बाइंडिंग का पॉइंटर, जो अधूरा हो गया है.
[in] aReport
गड़बड़ी की स्थिति बताने वाली रिपोर्ट का रेफ़रंस.

~DMClient

virtual  ~DMClient(
  void
)

DMClient ऑब्जेक्ट का डिस्ट्रक्टर.

सभी अंदरूनी स्थिति मिटा देता है और ज़रूरी होने पर, उन सदस्यताओं को रद्द कर देता है जिन्हें मंज़ूरी मिलना बाकी है.

सुरक्षित फ़ंक्शन

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)