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

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

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

खास जानकारी

DMPublisher, स्टैंडर्ड WDM पब्लिशर बेस क्लास है. यह डीएम 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
Statusरिपोर्ट ऑब्जेक्ट का रेफ़रंस, जिसमें फ़ेल होने की वजह बताई गई है.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

DMPublisher ऑब्जेक्ट शुरू करना.

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

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

Init

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
स्टेटस रिपोर्ट ऑब्जेक्ट का रेफ़रंस, जिसमें अनुरोध की स्थिति के बारे में जानकारी होती है.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो जवाब वाला मैसेज नहीं भेज पाने की जानकारी देने वाला WEAVE_ERROR भेजें.

ViewResponse

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

व्यू के अनुरोध का जवाब दें.

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

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

~DMPublisher

virtual  ~DMPublisher(
  void
)

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

सभी अंदरूनी स्थिति को हटा देता है और एक्सचेंज मैनेजर से लिसनर को हटा देता है.