nl:: Weave:: الملفات الشخصية:: DataManagement_Current:: SubscriptionsHandler
الملخّص
الأنواع المتاحة للجميع |
|
---|---|
@142
|
تعداد |
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventID
|
تعداد |
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:: |
الاتحادات |
|
---|---|
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 )
تبدأ هذه الوظيفة إيقافًا سلسًا للاشتراك وتنظيف كائن المعالج.
إنهاء اشتراك الناشر بشكلٍ أنيق.
هذه مكالمة غير متزامنة وسيتم إبلاغ العميل بإغلاق وشيك من خلال رسالة (إلغاء الاشتراك/تقرير الحالة) عندما يكون ذلك مناسبًا.
وبشكل بارز، يؤدي هذا إلى التنازل عن مشاركة التطبيق في هذا الاشتراك. بعد هذه المكالمة، لن يتم إشعار التطبيق بأي نشاط آخر عن هذا العنصر. بالإضافة إلى ذلك، لا يُسمح للتطبيق بالتفاعل مع هذا العنصر بعد ذلك من خلال أي من طرقه.
إنهاء اشتراك الناشر بشكلٍ سلس. إذا تم تفعيل دعم إلغاء الاشتراك، يتم إرسال رسالة Createإلغاء الاشتراك إلى عميل الاشتراك وينتظر النظام ردًا قبل إنهاء الاشتراك، وبخلاف ذلك سيتم إنهاء الاشتراك على الفور بطريقة مشابهة للاشتراك في AortSubscriptions(). وفي حال وجود اشتراك مشترك، يتم أيضًا إنهاء الاشتراك المضاد من الناشر مرة أخرى إلى العميل.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|
أثناء انتظار الرد على طلب إلغاء الاشتراك، يدخل SubscriptionHandler
في حالة Canceling
.
بعد بدء عملية الإنهاء، يدخل الكائن SubscriptionHandler
في حالة Terminated
ويتم تسليم حدث OnSubscriptionTerminated
إلى معالج أحداث التطبيق. لاحظ أنه إذا لم يتم تفعيل دعم الإلغاء، قد يتم استدعاء معالج الحدث بشكلٍ متزامن ضمن الاستدعاء إلى EndSubscriptions().
بعد إرجاع معالج أحداث التطبيق، إذا لم تكن هناك مراجع إضافية إلى العنصر SubscriptionHandler
، يتم تحرير الكائن.
الحصول على تجميع البيانات
Binding * GetBinding( void ) const
الحصول على الحد الأقصى لعدد الإشعارات
uint32_t GetMaxNotificationSize( void ) const
GetPeerNodeId
uint64_t GetPeerNodeId( void ) const
رقم تعريف الاشتراك
WEAVE_ERROR GetSubscriptionId( uint64_t *const apSubscriptionId )
IsActive
bool IsActive( void )
جارٍ الإلغاء
bool IsCanceling() const
مُحدَّد
bool IsEstablishedIdle()
مجّاني
bool IsFree()
تم إنهاؤه
bool IsTerminated()
ضبط الحد الأقصى لحجم الإشعار
void SetMaxNotificationSize( const uint32_t aMaxPayload )