nl:: বুনা:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_কারেন্ট:: সাবস্ক্রিপশন হ্যান্ডলার
সারসংক্ষেপ
পাবলিক প্রকার | |
---|---|
@142 | enum |
EventCallback )(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) | typedefvoid(* |
EventID | enum |
HandlerId | typedefuint8_t |
পাবলিক স্ট্যাটিক ফাংশন | |
---|---|
DefaultEventHandler (EventID aEvent, const InEventParam & aInParam, OutEventParam & aOutParam) | void |
পাবলিক ফাংশন | |
---|---|
AbortSubscription (void) | void এই ফাংশনটি অবিলম্বে একটি সাবস্ক্রিপশন বন্ধ করে দেয় - এটি একটি সিঙ্ক্রোনাস কল। |
AcceptSubscribeRequest (const uint32_t aLivenessTimeoutSec) | |
EndSubscription (const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode) | এই ফাংশনটি হ্যান্ডলার অবজেক্টের সাবস্ক্রিপশন এবং ক্লিন-আপের একটি আকর্ষণীয় শাটডাউন শুরু করে। |
GetBinding (void) const | Binding * |
GetMaxNotificationSize (void) const | uint32_t |
GetPeerNodeId (void) const | uint64_t |
GetSubscriptionId (uint64_t *const apSubscriptionId) | |
IsActive (void) | bool |
IsCanceling () const | bool |
IsEstablishedIdle () | bool |
IsFree () | bool |
IsTerminated () | bool |
SetMaxNotificationSize (const uint32_t aMaxPayload) | void |
কাঠামো | |
---|---|
nl:: বুনা:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_কারেন্ট:: সাবস্ক্রিপশনহ্যান্ডলার:: TraitInstanceInfo |
ইউনিয়ন | |
---|---|
nl:: বুনন:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_কারেন্ট:: সাবস্ক্রিপশনহ্যান্ডলার:: ইনইভেন্টপারম | |
nl:: বুনা:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_কারেন্ট:: সাবস্ক্রিপশনহ্যান্ডলার:: আউটইভেন্টপারম |
পাবলিক প্রকার
@142
@142
ইভেন্ট কলব্যাক
void(* EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
ইভেন্ট আইডি
EventID
হ্যান্ডলার আইডি
uint8_t HandlerId
পাবলিক স্ট্যাটিক ফাংশন
ডিফল্ট ইভেন্টহ্যান্ডলার
void DefaultEventHandler( EventID aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
পাবলিক ফাংশন
সাবস্ক্রিপশন বাতিল করুন
void AbortSubscription( void )
এই ফাংশনটি অবিলম্বে একটি সাবস্ক্রিপশন বন্ধ করে দেয় - এটি একটি সিঙ্ক্রোনাস কল।
প্রকাশক সদস্যতা বাতিল করুন।
সমাপ্তির ক্লায়েন্টকে অবহিত করার কোন চেষ্টা করা হয় না, এবং অন্তর্নিহিত বিনিময় প্রসঙ্গ উপস্থিত থাকলে তা অবিলম্বে বাতিল করা হয়। এই কলের পরে, অ্যাপ্লিকেশনটিকে এই বস্তুর উপর আর কোনো কার্যকলাপ সম্পর্কে অবহিত করা হবে না। অতিরিক্তভাবে, অ্যাপ্লিকেশনটিকে তার কোনো পদ্ধতির মাধ্যমে এই বস্তুর সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেওয়া হয় না।
সাবস্ক্রিপশন ক্লায়েন্টকে অবহিত না করে এবং অ্যাপ্লিকেশনের ইভেন্ট হ্যান্ডলারকে একটি OnSubscriptionTerminated
ইভেন্ট সরবরাহ না করেই, একটি সাবস্ক্রিপশনের প্রকাশক শেষ করে দেয়৷ যদি একটি পারস্পরিক সাবস্ক্রিপশন বিদ্যমান থাকে, তাহলে প্রকাশকের কাছ থেকে ক্লায়েন্টের কাছে ফিরে আসা পাল্টা সাবস্ক্রিপশনটিও বন্ধ হয়ে যায়।
AbortSubscription() কে কল করার পরে, SubscriptionHandler
অবজেক্টটি Terminated
অবস্থায় প্রবেশ করে। অবজেক্টের কোন অতিরিক্ত রেফারেন্স না থাকলে সমাপ্তি প্রক্রিয়া শেষ হলে, SubscriptionHandler
অবজেক্টটি মুক্ত করা হয়।
সাবস্ক্রাইব অনুরোধ স্বীকার করুন
WEAVE_ERROR AcceptSubscribeRequest( const uint32_t aLivenessTimeoutSec )
সাবস্ক্রিপশন শেষ করুন
WEAVE_ERROR EndSubscription( const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode )
এই ফাংশনটি হ্যান্ডলার অবজেক্টের সাবস্ক্রিপশন এবং ক্লিন-আপের একটি আকর্ষণীয় শাটডাউন শুরু করে।
সুন্দরভাবে একটি প্রকাশকের সদস্যতা শেষ করুন।
এটি একটি অ্যাসিঙ্ক্রোনাস কল এবং একটি সাবস্ক্রাইব ক্যান্সেল/স্ট্যাটাসরিপোর্ট বার্তার মাধ্যমে আসন্ন শাটডাউন সম্পর্কে ক্লায়েন্টকে অবহিত করবে যেখানে প্রাসঙ্গিক।
উল্লেখযোগ্যভাবে, এটি এই সাবস্ক্রিপশনে অ্যাপ্লিকেশানের সম্পৃক্ততা পরিত্যাগ করে। এই কলের পরে, অ্যাপ্লিকেশনটিকে এই বস্তুর উপর আর কোনো কার্যকলাপ সম্পর্কে অবহিত করা হবে না। অতিরিক্তভাবে, অ্যাপ্লিকেশনটিকে তার কোনো পদ্ধতির মাধ্যমে এই বস্তুর সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেওয়া হয় না।
একটি সাবস্ক্রিপশনের প্রকাশকের শেষটি অনুগ্রহপূর্বক সমাপ্ত করে। যদি সাবস্ক্রিপশন বাতিল সমর্থন সক্রিয় করা থাকে, তাহলে সাবস্ক্রিপশন ক্লায়েন্টকে একটি SubscribeCancelRequest বার্তা পাঠানো হবে এবং সিস্টেম সাবস্ক্রিপশন বন্ধ করার আগে একটি উত্তরের জন্য অপেক্ষা করছে; অন্যথায় সাবস্ক্রিপশন অবিলম্বে AbortSubscription() এর অনুরূপভাবে বন্ধ হয়ে যাবে। যদি একটি পারস্পরিক সাবস্ক্রিপশন বিদ্যমান থাকে, তাহলে প্রকাশকের কাছ থেকে ক্লায়েন্টের কাছে ফিরে আসা পাল্টা সাবস্ক্রিপশনটিও বন্ধ হয়ে যায়।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্ন মান |
|
সাবস্ক্রাইব ক্যানসেল রিকোয়েস্টের প্রতিক্রিয়ার জন্য অপেক্ষা করার সময়, SubscriptionHandler
Canceling
করার অবস্থায় প্রবেশ করে।
একবার সমাপ্তি প্রক্রিয়া শুরু হলে, SubscriptionHandler
অবজেক্টটি Terminated
অবস্থায় প্রবেশ করে এবং একটি OnSubscriptionTerminated
ইভেন্ট অ্যাপ্লিকেশনের ইভেন্ট হ্যান্ডলারের কাছে বিতরণ করা হয়। মনে রাখবেন, বাতিল সমর্থন সক্রিয় না থাকলে, EndSubscription() এ কলের মধ্যে ইভেন্ট হ্যান্ডলারকে সিঙ্ক্রোনাসভাবে কল করা হতে পারে।
অ্যাপ্লিকেশনের ইভেন্ট হ্যান্ডলার ফিরে আসার পরে, যদি SubscriptionHandler
অবজেক্টে কোন অতিরিক্ত উল্লেখ না থাকে, তাহলে অবজেক্টটি মুক্ত করা হয়।
GetBinding
Binding * GetBinding( void ) const
GetMaxNotificationSize
uint32_t GetMaxNotificationSize( void ) const
GetPeerNodeId
uint64_t GetPeerNodeId( void ) const
সাবস্ক্রিপশন আইডি পান
WEAVE_ERROR GetSubscriptionId( uint64_t *const apSubscriptionId )
সক্রিয়
bool IsActive( void )
বাতিল হচ্ছে
bool IsCanceling() const
নিষ্ক্রিয় হয়েছে
bool IsEstablishedIdle()
মুক্ত
bool IsFree()
সমাপ্ত
bool IsTerminated()
SetMaxNotificationSize
void SetMaxNotificationSize( const uint32_t aMaxPayload )