nl:: বুনা:: প্রোফাইল:: DataManagement_Legacy:: ডিএমপি প্রকাশক

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

অ্যাপ্লিকেশন-নির্দিষ্ট WDM প্রকাশকদের জন্য বিমূর্ত বেস ক্লাস।

সারাংশ

DMPublisher হল আদর্শ WDM প্রকাশক বেস ক্লাস। এটি DM ProtocolEngine ক্লাসের একটি মিশ্রণ, যা comms ক্র্যাঙ্ক-টার্নিং পরিচালনা করে এবং সম্পূর্ণ বিমূর্ত PublisherDataManager ক্লাস। সাবস্ক্রিপশন এবং বিজ্ঞপ্তির জন্য সমর্থন ঐচ্ছিক এবং কোন এন্ট্রি ছাড়াই একটি সাবস্ক্রিপশন টেবিল কনফিগার করে কেবল দমন করা যেতে পারে।

উত্তরাধিকার

উত্তরাধিকার সূত্রে:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

DMPublisher (void)
DMPublisher অবজেক্টের জন্য ডিফল্ট কনস্ট্রাক্টর।
~DMPublisher (void)
ডিএমপি প্রকাশক অবজেক্টের জন্য ধ্বংসকারী।

পাবলিক ফাংশন

CancelTransactionRequest (uint16_t aTxnId, WEAVE_ERROR aError)
Clear (void)
virtual void
DMPublisher অবজেক্টের অভ্যন্তরীণ অবস্থা সাফ করুন।
Finalize (void)
virtual void
একটি অপারেটিং ডিএমপি প্রকাশক বন্ধ করুন।
IncompleteIndication ( Binding *aBinding, StatusReport & aReport)
virtual void
একটি বাইন্ডিং ব্যর্থ হয়েছে এমন একটি ইঙ্গিত পরিচালনা করুন।
Init ( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
একটি DMP প্রকাশক অবজেক্ট শুরু করুন।
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)
একটি ভিউ অনুরোধে সাড়া দিন।

পাবলিক ফাংশন

লেনদেনের অনুরোধ বাতিল করুন

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

পরিষ্কার

virtual void Clear(
  void
)

DMPublisher অবজেক্টের অভ্যন্তরীণ অবস্থা সাফ করুন।

বিজ্ঞপ্তি লেনদেন পুল এবং সাবস্ক্রিপশন টেবিল সাফ করে।

ডিএমপি প্রকাশক

 DMPublisher(
  void
)

DMPublisher অবজেক্টের জন্য ডিফল্ট কনস্ট্রাক্টর।

সমস্ত অভ্যন্তরীণ অবস্থা সাফ করে।

চূড়ান্ত করা

virtual void Finalize(
  void
)

একটি অপারেটিং ডিএমপি প্রকাশক বন্ধ করুন।

সমস্ত অপারেটিং অবস্থা সাফ করে এবং একটি চলমান থাকলে শ্রোতাকে বন্ধ করে দেয়।

অসম্পূর্ণ ইঙ্গিত

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

একটি বাইন্ডিং ব্যর্থ হয়েছে এমন একটি ইঙ্গিত পরিচালনা করুন।

যখন একটি বাইন্ডিং অসম্পূর্ণ হয়ে যায়, অর্থাৎ যখন একটি TCP বাইন্ডিংয়ের জন্য সংযোগটি বন্ধ থাকে, তখন প্রোটোকল ইঞ্জিনকে অবশ্যই তার উপর নির্ভরশীল যেকোন লেনদেন ব্যর্থ করতে হবে, যার মধ্যে তাদের স্ট্যাটাস হ্যান্ডলারদের কল করা অন্তর্ভুক্ত। এছাড়াও, অসম্পূর্ণ ইঙ্গিতটি এই পদ্ধতির বিকল্প রূপ বাস্তবায়নকারী যেকোন সুপারক্লাস অবজেক্ট পর্যন্ত দেওয়া হয় যা একটি পিয়ার আইডি নেয়।

বিস্তারিত
পরামিতি
[in] aBinding
ব্যর্থ বাঁধাই করার জন্য একটি নির্দেশক।
[in] aReport
একটি StatusReport অবজেক্টের একটি রেফারেন্স যা ব্যর্থতার কারণ বর্ণনা করে।

ইনিট

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

একটি DMP প্রকাশক অবজেক্ট শুরু করুন।

এই পদ্ধতিতে সাবস্ক্রিপশন সহ ক্লায়েন্টের অনুরোধের সম্পূর্ণ পরিসরের জন্য এক্সচেঞ্জ ম্যানেজারে একজন শ্রোতা ইনস্টল করার পার্শ্ব প্রতিক্রিয়া রয়েছে।

বিস্তারিত
পরামিতি
[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
)

আপডেট রেসপন্স

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

একটি আপডেট অনুরোধের প্রতিক্রিয়া.

ইঙ্গিত দেওয়া বিনিময় প্রসঙ্গ ব্যবহার করে প্রক্রিয়াকরণের পরে একটি আপডেট অনুরোধের প্রতিক্রিয়া পাঠান।

বিস্তারিত
পরামিতি
[in] aResponseCtx
বিনিময় প্রসঙ্গে একটি নির্দেশক যার অধীনে অনুরোধটি গৃহীত হয়েছিল।
[in] aStatus
অনুরোধের স্থিতি সম্পর্কে তথ্য ধারণকারী একটি StatusReport অবজেক্টের একটি রেফারেন্স।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় প্রতিক্রিয়া বার্তা পাঠাতে ব্যর্থতা প্রতিফলিত করে একটি WEAVE_ERROR ফেরত দিন।

প্রতিক্রিয়া দেখুন

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

একটি ভিউ অনুরোধে সাড়া দিন।

ইঙ্গিত দেওয়া বিনিময় প্রসঙ্গ ব্যবহার করে প্রক্রিয়াকরণের পরে একটি ভিউ অনুরোধের প্রতিক্রিয়া পাঠান।

বিস্তারিত
পরামিতি
[in] aResponseCtx
বিনিময় প্রসঙ্গে একটি নির্দেশক যার অধীনে অনুরোধটি গৃহীত হয়েছিল।
[in] aStatus
অনুরোধের স্থিতি সম্পর্কে তথ্য ধারণকারী একটি StatusReport অবজেক্টের একটি রেফারেন্স। যে ক্ষেত্রে এটি সফল হয়, অনুরোধকারী আগ্রহের ডেটা সহ একটি ডেটা তালিকার প্রত্যাশা করবেন৷
[in] aDataList
একটি ঐচ্ছিক ReferencedTLVData অবজেক্টের একটি পয়েন্টার যেখানে একটি TLV-এনকোডেড ডেটা তালিকা রয়েছে যাতে আগ্রহের ডেটা এবং সেই ডেটার স্বভাব নির্দেশ করে এমন পথগুলি রয়েছে৷ উল্লেখ্য যে এই প্যারামিটারটি NULL হবে সেই ক্ষেত্রে যেখানে পূর্ববর্তী প্যারামিটারে দেওয়া স্ট্যাটাসটি সফল নয়।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর। অন্যথায়, প্রতিক্রিয়া বার্তা পাঠাতে ব্যর্থতা প্রতিফলিত করে একটি WEAVE_ERROR ফেরত দিন।
WEAVE_ERROR_INVALID_ARGUMENT
যদি প্রদত্ত পরামিতিগুলি অসামঞ্জস্যপূর্ণ হয়
WEAVE_ERROR_NO_MEMORY
যদি একটি Inet বাফার বরাদ্দ করা যায় না।

~ডিএমপি প্রকাশক

virtual  ~DMPublisher(
  void
)

ডিএমপি প্রকাশক অবজেক্টের জন্য ধ্বংসকারী।

সমস্ত অভ্যন্তরীণ অবস্থা সাফ করে এবং একটি জায়গায় থাকলে এক্সচেঞ্জ ম্যানেজার থেকে শ্রোতাকে সরিয়ে দেয়।