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) | Update * |
NewView (void) | View * |
অনুরোধ দেখুন
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
প্রকাশিত ডেটা দেখার অনুরোধ করুন।
একটি নির্দিষ্ট দূরবর্তী প্রকাশক দ্বারা স্থিত এবং পরিচালিত ডেটা দেখার অনুরোধ করুন।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||
রিটার্ন মান |
| ||||||||
রিটার্নস | অন্যথায়, একটি WEAVE_ERROR লেনদেন শুরু বা শুরু করতে ব্যর্থতা প্রতিফলিত করে। |
অনুরোধ দেখুন
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
ডিফল্ট প্রকাশকের ডেটা দেখার অনুরোধ করুন।
"ডিফল্ট" প্রকাশক, অর্থাৎ ক্লায়েন্টের বাইন্ডিং টেবিলে প্রথম (বা শুধুমাত্র) প্রকাশক দ্বারা পরিচালিত ডেটার একটি দৃশ্যের অনুরোধ করুন৷
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||
রিটার্ন মান |
| ||||||
রিটার্নস | অন্যথায়, একটি WEAVE_ERROR লেনদেন শুরু বা শুরু করতে ব্যর্থতা প্রতিফলিত করে। |
আপডেটের অনুরোধ
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
প্রকাশিত ডেটার জন্য একটি আপডেটের অনুরোধ করুন।
অনুরোধ করুন যে একটি দূরবর্তী প্রকাশক ব্যবস্থাপনার অধীনে ডেটা আপডেট করুন।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||
রিটার্নস | সাফল্যে WEAVE_NO_ERROR অথবা WEAVE_ERROR_NO_MEMORY যদি একটি আপডেট লেনদেন বরাদ্দ না করা যায়। অন্যথায়, আপডেট ব্যর্থতা প্রতিফলিত করে একটি WEAVE_ERROR ফেরত দিন। |
আপডেটের অনুরোধ
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t 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 )
একটি কার্যকরী লেনদেন বাতিল করার অনুরোধ করুন।
এই পদ্ধতিটি নেটওয়ার্ক ট্র্যাফিক তৈরি করে না, তবে শুধুমাত্র নির্দিষ্ট লেনদেনের জন্য বরাদ্দ করা সংস্থানগুলি ছেড়ে দেয়
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্নস | সফলতার উপর WEAVE_NO_ERROR বা একটি WEAVE_ERROR লেনদেন বাতিল করতে ব্যর্থতা প্রতিফলিত করে৷ |
পরিষ্কার
virtual void Clear( void )
একটি DMClient অবজেক্টের সাথে যুক্ত অভ্যন্তরীণ অবস্থা সাফ করুন।
বিশেষ করে, এই পদ্ধতিটি সমস্ত ক্লায়েন্ট লেনদেন পুল সাফ করে। যেসব ক্লায়েন্ট ব্যবহার করছেন তাদের জন্য Finalize() পদ্ধতিটি পছন্দনীয় কারণ এটি সাবস্ক্রিপশন বাতিল করে এবং লেনদেন এবং বাঁধাই টেবিল পরিষ্কার করে।
আরও দেখুন:চূড়ান্ত করা()
DMC ক্লায়েন্ট
DMClient( void )
চূড়ান্ত করা
virtual void Finalize( void )
একটি অপারেটিং DMClient বন্ধ করুন।
ক্লায়েন্টের সাথে যুক্ত সমস্ত অপারেটিং অবস্থা সাফ করে এবং নোটিফায়ার থেকে সমস্ত সম্পর্কিত সদস্যতা সরিয়ে দেয়। Finalize() এ কল করার পর একজন DMClientকে Init() কল করে পুনরায় চালু করা যেতে পারে। Finalize() - কে DMClient ধ্বংসকারীর দ্বারা আহ্বান করা হয় কিন্তু যে ক্ষেত্রে DMClient-এর ক্লিনআপের প্রয়োজন হয়, যেমন ব্যর্থতা বা সাময়িক বন্ধ হয়ে যাওয়ার ক্ষেত্রে, কিন্তু পরে কিছু সময়ে পুনর্গঠন করার প্রয়োজন হতে পারে।
অসম্পূর্ণ ইঙ্গিত
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
ক্লায়েন্ট দ্বারা ব্যবহৃত একটি বাঁধাই এর "অসম্পূর্ণতা" পরিচালনা করুন।
যখন একটি বাঁধাই অপ্রত্যাশিতভাবে ব্যর্থ হয়, যেমন বাইন্ডিংয়ের সাথে জড়িত সংযোগটি বন্ধ হয়ে গেলে, এই পদ্ধতিটিকে বলা হয়।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
~ DMC ক্লায়েন্ট
virtual ~DMClient( void )
DMClient অবজেক্টের জন্য ধ্বংসকারী।
সমস্ত অভ্যন্তরীণ অবস্থা সাফ করে এবং প্রয়োজনে মুলতুবি থাকা সদস্যতা বাতিল করে।
সুরক্ষিত ফাংশন
নতুন আপডেট
Update * NewUpdate( void )
নিউভিউ
View * NewView( void )