সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

nl:: বুনা:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগ্যাসি:: DMC ক্লায়েন্ট

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

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

সারসংক্ষেপ

DMClient হল আদর্শ WDM ক্লায়েন্ট। বাস্তবায়ন ঐচ্ছিকভাবে সদস্যতা/বিজ্ঞপ্তি অন্তর্ভুক্ত. এটি DM ProtocolEngine ক্লাসের একটি মিশ্রণ, যা comms ক্র্যাঙ্ক-টার্নিং এবং সম্পূর্ণ বিমূর্ত 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)
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
)