nl:: Weave:: Profiles:: DataManagement_Current:: SubscriptionHandler
ملخّص
الأنواع العامة |
|
---|---|
@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
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(). في حال توفُّر اشتراك مشترَك، يتم أيضًا إنهاء الاشتراك المضاد الذي أرسله الناشر إلى العميل.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
قيم الإرجاع |
|
أثناء انتظار الرد على 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 )