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 )
این تابع خاموش کردن ایمن اشتراک و پاکسازی شیء گرداننده را آغاز میکند.
اشتراک ناشر را بهطور مناسب پایان دهید.
این یک تماس ناهمگام است و درصورت لزوم، ازطریق پیام SubscribeCancel/StatusReport، خاموش شدن قریبالوقوع را به کارخواه اطلاع میدهد.
بهویژه، این کار مشارکت برنامه را در این اشتراک واگذار میکند. پساز این فراخوانی، برنامه از هیچ فعالیت دیگری در این شیء مطلع نخواهد شد. علاوهبراین، برنامه مجاز نیست پساز آن ازطریق هیچیک از روشهایش با این شیء تعامل داشته باشد.
بخش ناشر اشتراک را بهطور مناسبی خاتمه میدهد. اگر پشتیبانی لغو اشتراک فعال باشد، پیام SubscribeCancelRequest به مشتری اشتراک ارسال میشود و سیستم قبلاز پایان دادن به اشتراک منتظر پاسخ میماند؛ درغیراینصورت، اشتراک بلافاصله به روشی مشابه AbortSubscription() پایان مییابد. اگر اشتراک متقابل وجود داشته باشد، اشتراک متقابل از ناشر به مشتری نیز پایان مییابد.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| مقادیر برگشتی |
|
||||
هنگام انتظار برای پاسخ به SubscribeCancelRequest، 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 )