nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler

ملخّص

الأنواع العامة

@142 تعداد
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventID تعداد
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::Weave::Profiles::DataManagement_Current::SubscriptionHandler::TraitInstanceInfo

الاتحادات

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::InEventParam
nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::OutEventParam

الأنواع العامة

142@

 @142

EventCallback

void(* EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventID

 EventID

HandlerId

uint8_t HandlerId

الدوال الثابتة العامة

DefaultEventHandler

void DefaultEventHandler(
  EventID aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

وظائف عامة

AbortSubscription

void AbortSubscription(
  void
)

تنهي هذه الدالة الاشتراك فورًا - وهذا اتصال متزامن.

إلغاء اشتراك الناشر

ولا يتم إجراء أي محاولة لإعلام العميل بإنهاء الاتفاقية، ويتم على الفور إلغاء سياق التبادل الأساسي، في حال توفّره. بعد هذه المكالمة، لن يتم إشعار التطبيق بأي نشاط آخر على هذا العنصر. بالإضافة إلى ذلك، لا يُسمح للتطبيق بالتفاعل مع هذا الكائن بعد ذلك من خلال أي من طرقه.

يؤدي هذا الخيار إلى إنهاء اشتراك الناشر بدون إشعار عميل الاشتراك وبدون تسليم حدث OnSubscriptionTerminated إلى معالج الأحداث الخاص بالتطبيق. في حال توفُّر اشتراك مشترَك، يتم أيضًا إنهاء الاشتراك المضاد الذي أرسله الناشر إلى العميل.

عند استدعاء AbortSubscription()، يدخل الكائن SubscriptionHandler في حالة Terminated. إذا لم يكن هناك مراجع إضافية إلى العنصر عند اكتمال عملية الإنهاء، يتم تحرير العنصر SubscriptionHandler.

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

تؤدي هذه الدالة إلى إيقاف الاشتراك بسلاسة وتنظيف عنصر المعالج.

إنهاء اشتراك الناشر بسلاسة

هذه استدعاء غير متزامن وسيتم إعلام العميل بالإيقاف الوشيك من خلال رسالة SubscriberCancel/StatusReport عند الاقتضاء.

ومن الجدير بالذكر أن هذا يسحب مشاركة التطبيق في هذا الاشتراك. بعد هذه المكالمة، لن يتم إشعار التطبيق بأي نشاط آخر على هذا العنصر. بالإضافة إلى ذلك، لا يُسمح للتطبيق بالتفاعل مع هذا الكائن بعد ذلك من خلال أي من طرقه.

ينهي الناشر نهاية الاشتراك بسلاسة. إذا تم تفعيل دعم إلغاء الاشتراك، يتم إرسال رسالة SUBSCRIPTIONCancelRequest إلى عميل الاشتراك وينتظر النظام ردًا قبل إنهاء الاشتراك؛ وإلا سيتم إنهاء الاشتراك فورًا بطريقة مماثلة للطريقة AbortSubscription(). في حال توفُّر اشتراك مشترَك، يتم أيضًا إنهاء الاشتراك المضاد الذي أرسله الناشر إلى العميل.

التفاصيل
المعلمات
[in] aReasonProfileId
رقم تعريف الملف الشخصي لرمز الحالة الذي يشير إلى سبب الإنهاء
[in] aReasonStatusCode
رمز الحالة الذي يشير إلى سبب الإنهاء
قيم الإرجاع
Returns
رمز خطأ Weave لأغراض إعلامية فقط. في حال حدوث أي خطأ، سيتم إنهاء العنصر بشكلٍ متزامن (أي الإلغاء).

أثناء انتظار الرد على SubscriberCancelRequest، فإن SubscriptionHandler تدخل الحالة Canceling.

بعد بدء عملية الإنهاء، يدخل العنصر SubscriptionHandler في حالة Terminated ويتم تسليم حدث OnSubscriptionTerminated إلى معالج حدث التطبيق. ملاحظة: إذا لم يتم تفعيل دعم الإلغاء، يمكن أن يتم استدعاء معالج الحدث بشكل متزامن أثناء الاستدعاء إلى EndSubscription().

بعد إرجاع معالج الأحداث في التطبيق، يتم تحرير العنصر إذا لم يكن هناك مراجع إضافية إلى الكائن SubscriptionHandler.

GetBinding

Binding * GetBinding(
  void
) const 

GetMaxNotificationSize

uint32_t GetMaxNotificationSize(
  void
) const 

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

GetSubscriptionId

WEAVE_ERROR GetSubscriptionId(
  uint64_t *const apSubscriptionId
)

IsActive

bool IsActive(
  void
)

IsCanceling

bool IsCanceling() const 

IsEstablishedIdle

bool IsEstablishedIdle()

IsFree

bool IsFree()

IsTerminated

bool IsTerminated()

SetMaxNotificationSize

void SetMaxNotificationSize(
  const uint32_t aMaxPayload
)