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

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

সারসংক্ষেপ

পাবলিক প্রকার

@142 enum
EventCallback )(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventID enum
HandlerId typedef
uint8_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
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() এর অনুরূপভাবে বন্ধ হয়ে যাবে। যদি একটি পারস্পরিক সাবস্ক্রিপশন বিদ্যমান থাকে, তাহলে প্রকাশকের কাছ থেকে ক্লায়েন্টের কাছে ফিরে আসা পাল্টা সাবস্ক্রিপশনটিও বন্ধ হয়ে যায়।

বিস্তারিত
পরামিতি
[in] aReasonProfileId
স্ট্যাটাসকোডের প্রোফাইল আইডি যা সমাপ্তির কারণ নির্দেশ করে
[in] aReasonStatusCode
স্ট্যাটাসকোড যা সমাপ্তির কারণ নির্দেশ করে
রিটার্ন মান
Returns
শুধুমাত্র তথ্যগত উদ্দেশ্যে একটি বুনা ত্রুটি কোড। কোনো ত্রুটিতে, বস্তুটি সিঙ্ক্রোনাসভাবে বন্ধ করা হবে (অর্থাৎ বাতিল করা হয়েছে)।

সাবস্ক্রাইব ক্যানসেল রিকোয়েস্টের প্রতিক্রিয়ার জন্য অপেক্ষা করার সময়, 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
)