nl:: بافت:: پروفایل ها:: DataManagement_Current:: Subscription Handler

خلاصه

انواع عمومی

@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:: بافت:: پروفایل ها:: DataManagement_Current:: SubscriptionHandler:: TraitInstanceInfo

اتحادیه ها

nl:: بافت:: پروفایل ها:: DataManagement_Current:: SubscriptionHandler:: InEventParam
nl:: بافت:: پروفایل ها:: DataManagement_Current:: SubscriptionHandler:: OutEventParam

انواع عمومی

@142

 @142

رویداد Callback

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

شناسه رویداد

 EventID

شناسه Handler

uint8_t HandlerId

توابع استاتیک عمومی

DefaultEventHandler

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

توابع عمومی

لغو اشتراک

void AbortSubscription(
  void
)

این تابع بلافاصله یک اشتراک را خاتمه می دهد - این یک تماس همزمان است.

لغو اشتراک ناشر.

هیچ تلاشی برای اطلاع مشتری از خاتمه انجام نمی‌شود و در صورت وجود، بستر مبادله زیربنایی فوراً لغو می‌شود. پس از این تماس، برنامه از هیچ فعالیت دیگری در این شی مطلع نخواهد شد. علاوه بر این، برنامه اجازه ندارد پس از آن از طریق هیچ یک از روش های خود با این شی تعامل داشته باشد.

پایان ناشر یک اشتراک را بدون اطلاع مشتری اشتراک و بدون ارائه رویداد OnSubscriptionTerminated به کنترل کننده رویداد برنامه خاتمه می دهد. اگر اشتراک متقابل وجود داشته باشد، اشتراک پیشخوان از سوی ناشر به مشتری نیز خاتمه می یابد.

با فراخوانی AbortSubscription() ، شیء SubscriptionHandler وارد حالت Terminated می شود. اگر پس از اتمام فرآیند خاتمه، هیچ ارجاع اضافی به شی وجود نداشته باشد، شی SubscriptionHandler آزاد می شود.

Accept Subscribe Request

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

پایان اشتراک

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

این عملکرد یک خاموش کردن دلپذیر اشتراک و پاکسازی شیء کنترل کننده را آغاز می کند.

اشتراک ناشر را با آرامش تمام کنید.

این یک تماس ناهمزمان است و در صورت لزوم از طریق پیام SubscribeCancel/StatusReport به مشتری از خاموش شدن قریب الوقوع اطلاع می دهد.

قابل ذکر است که این امر از دخالت برنامه در این اشتراک چشم پوشی می کند. پس از این تماس، برنامه از هیچ فعالیت دیگری در این شی مطلع نخواهد شد. علاوه بر این، برنامه اجازه ندارد پس از آن از طریق هیچ یک از روش های خود با این شی تعامل داشته باشد.

به‌خوبی پایان ناشر یک اشتراک را خاتمه می‌دهد. اگر پشتیبانی لغو اشتراک فعال باشد، یک پیام SubscribeCancelRequest به مشتری اشتراک ارسال می شود و سیستم قبل از پایان اشتراک منتظر پاسخ است. در غیر این صورت اشتراک فوراً به روشی مشابه AbortSubscription() خاتمه می یابد. اگر اشتراک متقابل وجود داشته باشد، اشتراک پیشخوان از سوی ناشر به مشتری نیز خاتمه می یابد.

جزئیات
مولفه های
[in] aReasonProfileId
شناسه نمایه StatusCode که دلیل خاتمه را نشان می دهد
[in] aReasonStatusCode
StatusCode که دلیل خاتمه را نشان می دهد
ارزش های بازگشتی
Returns
یک کد خطای Weave فقط برای اهداف اطلاعاتی. در صورت هر خطایی، شی به صورت همزمان خاتمه می یابد (یعنی سقط می شود).

در حالی که منتظر پاسخ به 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
)

فعال است

bool IsActive(
  void
)

در حال لغو است

bool IsCanceling() const 

IsEstablishedIdle

bool IsEstablishedIdle()

رایگان است

bool IsFree()

خاتمه یافته است

bool IsTerminated()

SetMaxNotificationSize

void SetMaxNotificationSize(
  const uint32_t aMaxPayload
)