nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

#include <src/lib/profiles/data-management/Legacy/DMPublisher.h>

ऐप्लिकेशन के हिसाब से बने WDM पब्लिशर के लिए ऐब्सट्रैक्ट बेस क्लास.

खास जानकारी

DMPublisher, WDM पब्लिशर बेस क्लास का स्टैंडर्ड वर्शन है. यह DM ProtocolEngine क्लास और पूरी तरह से ऐब्सट्रैक्ट PublisherDataManager क्लास को मैनेज करता है. सदस्यता और सूचना से जुड़ी सहायता देना ज़रूरी नहीं है. हालांकि, सदस्यता की टेबल को कॉन्फ़िगर करके, इस सुविधा को रोका जा सकता है. इसमें कोई एंट्री शामिल नहीं होनी चाहिए.

इनहेरिटेंस

इनसे इनहेरिट की गई:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

कंस्ट्रक्टर और डिस्ट्रक्टर

DMPublisher(void)
DMPublisher ऑब्जेक्ट के लिए डिफ़ॉल्ट कंस्ट्रक्टर.
~DMPublisher(void)
DMPublisher ऑब्जेक्ट के लिए, डिस्ट्रक्टर.

सार्वजनिक फ़ंक्शन

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
DMPublisher ऑब्जेक्ट की अंदरूनी स्थिति मिटाएं.
Finalize(void)
virtual void
ऑपरेटिंग DMPublisher को बंद करना.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
बाइंडिंग की प्रोसेस पूरी न हो पाने के संकेत को हैंडल करना.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
DMPublisher ऑब्जेक्ट को शुरू करें.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
अपडेट के अनुरोध का जवाब दें.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
देखने के अनुरोध का जवाब दें.

सार्वजनिक फ़ंक्शन

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

क्लियर

virtual void Clear(
  void
)

DMPublisher ऑब्जेक्ट की अंदरूनी स्थिति मिटाएं.

इससे, सूचना देने वाले ट्रांज़ैक्शन पूल और सदस्यता की टेबल हट जाती है.

DMPublisher

 DMPublisher(
  void
)

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

पूरी अंदरूनी स्थिति हटा देता है.

फ़ाइनल करें

virtual void Finalize(
  void
)

ऑपरेटिंग DMPublisher को बंद करना.

इससे लिसनर के चलने की सारी स्थिति हट जाती है और लिसनर के चलने पर, उसे शट डाउन कर दिया जाता है.

IncompleteIndication

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

बाइंडिंग की प्रोसेस पूरी न हो पाने के संकेत को हैंडल करना.

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

ब्यौरा
पैरामीटर
[in] aBinding
फ़ेल हो चुकी बाइंडिंग के लिए पॉइंटर.
[in] aReport
स्टेटस रिपोर्ट ऑब्जेक्ट का रेफ़रंस, जिसमें गड़बड़ी की वजह के बारे में बताया गया है.

शुरू करें

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

DMPublisher ऑब्जेक्ट को शुरू करें.

इस तरीके का इस्तेमाल करने से, एक्सचेंज मैनेजर में क्लाइंट के सभी अनुरोधों के लिए, लिसनर इंस्टॉल किए जा सकते हैं. इसमें सदस्यता के अनुरोध भी शामिल हो सकते हैं.

ब्यौरा
पैरामीटर
[in] aExchangeMgr
WeaveExchangeManager ऑब्जेक्ट का पॉइंटर, उन सभी एक्सचेंज के लिए इस्तेमाल किया जाता है जिनमें पब्लिशर हिस्सा लेना चाहता है.
[in] aResponseTimeout
जवाब मिलने का समय, मिलीसेकंड में. इसका मतलब है कि किसी जवाब के लिए इंतज़ार करने में ज़्यादा से ज़्यादा कितना समय लगेगा.
लौटाए गए सामान
WEAVE_NO_ERROR सफल होने पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाएं. इससे यह पता चलता है कि पब्लिशर को सही तरीके से सेट अप नहीं किया जा सका.

शुरू करें

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

अपडेट के अनुरोध का जवाब दें.

संकेत में दिए गए एक्सचेंज कॉन्टेक्स्ट का इस्तेमाल करके, प्रोसेस होने के बाद अपडेट के अनुरोध का जवाब भेजें.

ब्यौरा
पैरामीटर
[in] aResponseCtx
उस एक्सचेंज कॉन्टेक्स्ट का पॉइंटर, जिसके तहत अनुरोध मिला था.
[in] aStatus
Statusरिपोर्ट ऑब्जेक्ट का रेफ़रंस, जिसमें अनुरोध की स्थिति के बारे में जानकारी होती है.
लौटाए गए सामान
WEAVE_NO_ERROR सफल होने पर. अगर ऐसा नहीं है, तो WEAVE_ERROR भेजें. इससे यह पता चलेगा कि जवाब को ईमेल नहीं भेजा जा सका.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

देखने के अनुरोध का जवाब दें.

संकेत में दिए गए एक्सचेंज कॉन्टेक्स्ट का इस्तेमाल करके, प्रोसेसिंग के बाद व्यू अनुरोध का जवाब भेजें.

ब्यौरा
पैरामीटर
[in] aResponseCtx
उस एक्सचेंज कॉन्टेक्स्ट का पॉइंटर, जिसके तहत अनुरोध मिला था.
[in] aStatus
Statusरिपोर्ट ऑब्जेक्ट का रेफ़रंस, जिसमें अनुरोध की स्थिति के बारे में जानकारी होती है. ऐसा होने पर, अनुरोध करने वाले को एक ऐसी डेटा सूची की उम्मीद होगी जिसमें पसंद का डेटा शामिल हो.
[in] aDataList
ऐसे वैकल्पिक ReferencedTLVData ऑब्जेक्ट का पॉइंटर जिसमें टीएलवी से कोड में बदली गई डेटा सूची मौजूद है. इस सूची में, दिलचस्पी का डेटा और पाथ की स्थिति के बारे में बताया गया है. ध्यान दें कि अगर पिछले पैरामीटर में दी गई स्थिति कामयाब नहीं होती, तो यह पैरामीटर NULL होगा.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाएं. इससे पता चलता है कि जवाब नहीं भेजा जा सका.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिए गए पैरामीटर एक जैसे न हों
WEAVE_ERROR_NO_MEMORY
अगर Inet बफ़र असाइन नहीं किया जा सका.

~DMपब्लिशर

virtual  ~DMPublisher(
  void
)

DMPublisher ऑब्जेक्ट के लिए, डिस्ट्रक्टर.

यह सभी इंटरनल स्टेटस को हटा देता है. साथ ही, अगर लिसनर सही है, तो उसे Exchange मैनेजर से भी हटा दिया जाता है.