nl:: বুনা:: প্রোফাইল:: DataManagement_Legacy:: DMC ক্লায়েন্ট

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

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

সারসংক্ষেপ

DMClient হল আদর্শ WDM ক্লায়েন্ট। বাস্তবায়নে ঐচ্ছিকভাবে সদস্যতা/বিজ্ঞপ্তি অন্তর্ভুক্ত থাকে। এটি DM ProtocolEngine ক্লাসের একটি মিশ্রণ, যা comms ক্র্যাঙ্ক-টার্নিং পরিচালনা করে এবং সম্পূর্ণ বিমূর্ত ক্লায়েন্টডেটা ম্যানেজার ক্লাস, সাবস্ক্রিপশন-সম্পর্কিত কিছু পদ্ধতি প্রয়োগ করা হয়েছে যাতে উচ্চ স্তরগুলিকে তাদের নিয়ে চিন্তা করতে না হয়।

সাবস্ক্রিপশন-সম্পর্কিত কাজের জন্য হ্যান্ডলাররা মূলত ClientNotifier অবজেক্টের উপর একটি পাতলা অ্যাডাপ্টার হিসেবে কাজ করে। সাবস্ক্রিপশন ম্যানেজার ক্র্যাঙ্ক চালু করার জন্য সাবক্লাস বাস্তবায়নকারীদের প্রাসঙ্গিক সুপার-ক্লাস পদ্ধতিতে কল করার যত্ন নেওয়া উচিত।

DMClient অনুরোধ পদ্ধতিতে সাধারণত 2টি স্বাক্ষর থাকে, একটিতে একটি সুস্পষ্ট গন্তব্য নোড আইডি এবং অন্যটি একটি নির্দিষ্ট গন্তব্য সহ। উভয় ক্ষেত্রেই, একজন প্রকাশককে একটি বার্তা পাঠানোর ক্ষমতা ক্লায়েন্টের একটি পূর্ব-বিদ্যমান বাঁধনের উপর নির্ভর করে কিন্তু, প্রথম ক্ষেত্রে, গন্তব্য ID একাধিক আবদ্ধ গন্তব্যের মধ্যে নির্বাচন করার উদ্দেশ্যে এবং দ্বিতীয় ক্ষেত্রে, প্রথমটি বাইন্ডিং টেবিলের আইটেমটি ডিফল্ট হিসাবে নির্বাচিত হয়। এটি দরকারী, উদাহরণস্বরূপ, যদি ক্লায়েন্ট শুধুমাত্র একক প্রকাশকের সাথে আবদ্ধ হয়।

উত্তরাধিকার

উত্তরাধিকার সূত্রে:
  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)
NewView (void)
View *

অনুরোধ দেখুন

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

প্রকাশিত ডেটা দেখার অনুরোধ করুন।

একটি নির্দিষ্ট দূরবর্তী প্রকাশক দ্বারা স্থিত এবং পরিচালিত ডেটা দেখার অনুরোধ করুন।

বিস্তারিত
পরামিতি
[in] aDestinationId
দূরবর্তী প্রকাশকের 64-বিট নোড আইডির একটি রেফারেন্স।
[in] aPathList
একটি ReferencedTLVData অবজেক্টের একটি রেফারেন্স যেখানে একটি TLV-এনকোডেড পাথ তালিকা রয়েছে যা অনুরোধ করা ডেটা নির্দেশ করে।
[in] aTxnId
এই ভিউ অপারেশন পরিচালনার জন্য WDM লেনদেনের জন্য একটি শনাক্তকারী সেট আপ করা হয়েছে৷
[in] aTimeout
ভিউ প্রতিক্রিয়ার জন্য অপেক্ষা করতে মিলিসেকেন্ডে সর্বাধিক সময়।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
WEAVE_ERROR_NO_MEMORY
যদি একটি লেনদেন বরাদ্দ করা যায় না.
রিটার্নস
অন্যথায়, একটি WEAVE_ERROR লেনদেন শুরু বা শুরু করতে ব্যর্থতা প্রতিফলিত করে।

অনুরোধ দেখুন

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

ডিফল্ট প্রকাশকের ডেটা দেখার অনুরোধ করুন।

"ডিফল্ট" প্রকাশক, অর্থাৎ ক্লায়েন্টের বাইন্ডিং টেবিলে প্রথম (বা শুধুমাত্র) প্রকাশক দ্বারা পরিচালিত ডেটার একটি দৃশ্যের অনুরোধ করুন৷

বিস্তারিত
পরামিতি
[in] aPathList
একটি ReferencedTLVData অবজেক্টের একটি রেফারেন্স যেখানে একটি TLV-এনকোডেড পাথ তালিকা রয়েছে যা অনুরোধ করা ডেটা নির্দেশ করে।
[in] aTxnId
এই ভিউ অপারেশন পরিচালনার জন্য WDM লেনদেনের জন্য একটি শনাক্তকারী সেট আপ করা হয়েছে৷
[in] aTimeout
ভিউ প্রতিক্রিয়ার জন্য অপেক্ষা করতে মিলিসেকেন্ডে সর্বাধিক সময়।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
WEAVE_ERROR_NO_MEMORY
যদি একটি লেনদেন বরাদ্দ করা যায় না.
রিটার্নস
অন্যথায়, একটি WEAVE_ERROR লেনদেন শুরু বা শুরু করতে ব্যর্থতা প্রতিফলিত করে।

আপডেটের অনুরোধ

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 ফেরত দিন।

আপডেটের অনুরোধ

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]

পাবলিক ফাংশন

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

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

একটি কার্যকরী লেনদেন বাতিল করার অনুরোধ করুন।

এই পদ্ধতিটি নেটওয়ার্ক ট্র্যাফিক তৈরি করে না, তবে শুধুমাত্র নির্দিষ্ট লেনদেনের জন্য বরাদ্দ করা সংস্থানগুলি ছেড়ে দেয়

বিস্তারিত
পরামিতি
[in] aTxnId
বাতিল করা লেনদেনের সংখ্যা। kTransactionIdNotSpecified প্রদান করা হলে, সমস্ত লেনদেন বাতিল হয়ে যাবে।
[in] aError
লেনদেন বাতিল করার সময় রিপোর্ট করার জন্য WEAVE_ERROR
রিটার্নস
সফলতার উপর WEAVE_NO_ERROR বা একটি WEAVE_ERROR লেনদেন বাতিল করতে ব্যর্থতা প্রতিফলিত করে৷

পরিষ্কার

virtual void Clear(
  void
)

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

বিশেষ করে, এই পদ্ধতিটি সমস্ত ক্লায়েন্ট লেনদেন পুল সাফ করে। যেসব ক্লায়েন্ট ব্যবহার করছেন তাদের জন্য Finalize() পদ্ধতিটি পছন্দনীয় কারণ এটি সাবস্ক্রিপশন বাতিল করে এবং লেনদেন এবং বাঁধাই টেবিল পরিষ্কার করে।

আরো দেখুন:
চূড়ান্ত করা()

DMC ক্লায়েন্ট

 DMClient(
  void
)

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

সমস্ত অভ্যন্তরীণ অবস্থা সাফ করে। একটি DMClient-এর ব্যবহারের আগে Init() দিয়ে আরও আরম্ভ করা প্রয়োজন।

চূড়ান্ত করা

virtual void Finalize(
  void
)

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

ক্লায়েন্টের সাথে যুক্ত সমস্ত অপারেটিং অবস্থা সাফ করে এবং নোটিফায়ার থেকে সমস্ত সম্পর্কিত সদস্যতা সরিয়ে দেয়। Finalize() এ কল করার পর একজন DMClientকে Init() কল করে পুনরায় চালু করা যেতে পারে। Finalize() -কে DMClient ধ্বংসকারীর দ্বারা আহ্বান করা হয় কিন্তু যে ক্ষেত্রে DMClient-এর ক্লিনআপের প্রয়োজন হয়, যেমন ব্যর্থতা বা সাময়িক বন্ধ হয়ে যাওয়ার ক্ষেত্রে, কিন্তু পরে কিছু সময়ে পুনর্গঠন করার প্রয়োজন হতে পারে।

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

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

ক্লায়েন্ট দ্বারা ব্যবহৃত একটি বাঁধাই এর "অসম্পূর্ণতা" পরিচালনা করুন।

যখন একটি বাঁধাই অপ্রত্যাশিতভাবে ব্যর্থ হয়, যেমন বাইন্ডিংয়ের সাথে জড়িত সংযোগটি বন্ধ হয়ে গেলে, এই পদ্ধতিটিকে বলা হয়।

বিস্তারিত
পরামিতি
[in] aBinding
বাইন্ডিংয়ের একটি পয়েন্টার যা অসম্পূর্ণ হয়ে গেছে।
[in] aReport
ব্যর্থতার কারণ প্রদানকারী একটি স্ট্যাটাস রিপোর্টের একটি রেফারেন্স।

~ DMC ক্লায়েন্ট

virtual  ~DMClient(
  void
)

DMClient অবজেক্টের জন্য ধ্বংসকারী।

সমস্ত অভ্যন্তরীণ অবস্থা সাফ করে এবং প্রয়োজনে মুলতুবি থাকা সদস্যতা বাতিল করে।

সুরক্ষিত ফাংশন

নতুন আপডেট

Update * NewUpdate(
  void
)

নিউভিউ

View * NewView(
  void
)