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

Kamu işlevleri

AbortSubscription(void)
void
Bu işlev, aboneliği hemen sonlandırır; bu eşzamanlı bir çağrıdır.
AcceptSubscribeRequest(const uint32_t aLivenessTimeoutSec)
EndSubscription(const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
Bu işlev, aboneliğin sorunsuz bir şekilde kapatılmasını ve işleyici nesnesinin temizlenmesini 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
)

Kamu işlevleri

AbortSubscription

void AbortSubscription(
  void
)

Bu işlev, aboneliği hemen sonlandırır; bu eşzamanlı bir çağrıdır.

Yayıncı aboneliğini iptal etme.

Müşteriyi fesih konusunda bilgilendirmek için herhangi bir girişimde bulunulmaz ve varsa temel exchange bağlamı hemen iptal edilir. Bu çağrıdan sonra, uygulama bu nesnede başka bir etkinlikle ilgili bilgilendirilmez. Ayrıca, uygulamanın herhangi bir yöntemi aracılığıyla bu nesneyle etkileşimde bulunmasına izin verilmez.

Abonelik istemcisine bildirimde bulunmadan ve uygulamanın etkinlik işleyicisine bir OnSubscriptionTerminated etkinliği yayınlamadan yayıncı sonunu sonlandırır. Karşılıklı abonelik varsa yayıncıdan müşteriye geri dönen sayaç aboneliği de sonlandırılır.

AbortSubscription() çağrıldıktan sonra SubscriptionHandler nesnesi Terminated durumuna girer. Fesih işlemi tamamlandığında nesneye başka bir referans atanmazsa 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ğin sorunsuz bir şekilde kapatılmasını ve işleyici nesnesinin temizlenmesini başlatır.

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

Bu, eşzamansız bir aramadır ve ilgili olduğu durumlarda, bir Abonelik İptali/Durum Raporu aracılığıyla müşterinin yaklaşan kapatılma tarihini bildirir.

Bu işlem, özellikle uygulamanın bu aboneliğe dahil olma durumunu ortadan kaldırır. Bu çağrıdan sonra, uygulama bu nesnede başka bir etkinlikle ilgili bilgilendirilmez. Ayrıca, uygulamanın herhangi bir yöntemi aracılığıyla bu nesneyle etkileşimde bulunmasına izin verilmez.

Aboneliğin yayıncı tarafından sonlandırılmasına düzgün bir şekilde son verir. Abonelik iptali desteği etkinse abonelik istemcisine bir Abone İptal İsteği gönderilir ve sistem, aboneliği sonlandırmadan önce bir yanıt bekler. Aksi takdirde, abonelik AbortSubscription() benzeri şekilde hemen sonlandırılır. Karşılıklı abonelik varsa yayıncının ve istemcinin karşı aboneliği de sonlandırılır.

Ayrıntılar
Parametreler
[in] aReasonProfileId
Fesih işleminin nedenini belirten StatusCode'un profil kimliği
[in] aReasonStatusCode
Fesih işleminin nedenini belirten StatusCode
Döndürülen Değerler
Returns
Weave hata kodu yalnızca bilgilendirme amaçlıdır. Herhangi bir hata durumunda nesne eşzamanlı olarak sonlandırılır (yani iptal edilir).

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

Fesih işlemi başladığında, SubscriptionHandler nesnesi Terminated durumuna girer ve uygulamanın etkinlik işleyicisine bir OnSubscriptionTerminated etkinliği gönderilir. İptal desteği etkinleştirilmemişse etkinlik işleyicinin EndSubscription() çağrısı içinde eşzamanlı olarak çağrılabileceğini unutmayın.

Uygulamanın olay işleyicisi döndürüldükten sonra, SubscriptionHandler nesnesine başka bir referans 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
)