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

Özet

Herkese açık türler

@142 enum
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventID enum
HandlerId typedef
uint8_t

Herkese açık statik işlevler

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

Herkese açık işlevler

AbortSubscription(void)
void
Eşzamanlı bir çağrı olan bu işlev, aboneliği hemen sonlandırır.
AcceptSubscribeRequest(const uint32_t aLivenessTimeoutSec)
EndSubscription(const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
Bu işlev, aboneliği düzgün bir şekilde kapatma işlemini ve işleyici nesnesini temizleme işlemini başlatır.
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

Yapılar

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

Birlikler

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

Herkese açık türler

@142

 @142

EventCallback

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

EventID

 EventID

HandlerId

uint8_t HandlerId

Herkese açık statik işlevler

DefaultEventHandler

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

Herkese açık işlevler

AbortSubscription

void AbortSubscription(
  void
)

Eşzamanlı bir çağrı olan bu işlev, aboneliği hemen sonlandırır.

Yayıncı aboneliğini iptal etme

Müşteriyi fesih hakkında bilgilendirmek için herhangi bir girişimde bulunulmaz ve varsa temel exchange bağlamı hemen iptal edilir. Bu çağrıdan sonra, uygulamaya bu nesneyle ilgili başka bir etkinlik bildirilmez. Ayrıca, uygulamanın daha sonra yöntemlerinden birini kullanarak bu nesneyle etkileşim kurmasına da izin verilmez.

Abonelik istemcisini bilgilendirmeden ve uygulamanın etkinlik işleyicisine bir OnSubscriptionTerminated etkinliği iletmeden aboneliğin yayıncı sonunu sonlandırır. Karşılıklı abonelik varsa yayıncıdan müşteriye geri karşı abonelik de sonlandırılır.

AbortSubscription() çağrıldıktan sonra, SubscriptionHandler nesnesi Terminated durumuna girer. Sonlandırma işlemi tamamlandığında nesneye başka referanslar gönderilmezse SubscriptionHandler nesnesi serbest bırakılır.

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

Bu işlev, aboneliği düzgün bir şekilde kapatma işlemini ve işleyici nesnesini temizleme işlemini başlatır.

Yayıncı aboneliğini sorunsuz bir şekilde sonlandırın.

Bu, eşzamansız bir çağrıdır ve ilgili olduğunda bir SubscriptionsCancel/Statusreport mesajı aracılığıyla istemciyi yaklaşan kapatma işlemi hakkında bilgilendirir.

Bu sayede, uygulamanın söz konusu aboneliğe dahil olması cazibesini ortadan kaldırıyor. Bu çağrıdan sonra, uygulamaya bu nesneyle ilgili başka bir etkinlik bildirilmez. Ayrıca, uygulamanın daha sonra yöntemlerinden birini kullanarak bu nesneyle etkileşim kurmasına da izin verilmez.

Aboneliğin yayıncı sonunu düzgün bir şekilde fesheder. Abonelik iptali desteği etkinleştirilirse abonelik istemcisine bir SubscriptionCancelRequest mesajı gönderilir ve sistem, aboneliği sonlandırmadan önce yanıt bekler; Aksi takdirde abonelik, AbortSubscription() yöntemine benzer bir şekilde hemen sonlandırılır. Karşılıklı abonelik varsa yayıncıdan müşteriye geri karşı abonelik de sonlandırılır.

Ayrıntılar
Parametreler
[in] aReasonProfileId
Sonlandırmanın nedenini belirten StatusCode'un ProfileId
[in] aReasonStatusCode
Sonlandırmanın nedenini belirten StatusCode
Değerleri Döndür
Returns
Örgü hata kodu yalnızca bilgilendirme amaçlıdır. Herhangi bir hata durumunda, nesne eşzamanlı olarak sonlandırılır (iptal edilir).

Abonelik İptal İsteği için yanıt beklerken SubscriptionHandler, Canceling durumuna girer.

Sonlandırma işlemi başladıktan sonra, SubscriptionHandler nesnesi Terminated durumuna girer ve uygulamanın etkinlik işleyicisine bir OnSubscriptionTerminated etkinliği teslim edilir. İptal desteği etkinleştirilmemişse etkinlik işleyicinin, EndSubscription() çağrısında eşzamanlı olarak çağrılabileceğini unutmayın.

Uygulamanın etkinlik işleyicisi geri döndüğünde, SubscriptionHandler nesnesine ek referanslar yoksa nesne serbest bırakılır.

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
)