nl::Weave::Profiller:DataManagement_Current::SubscriptionsHandler

Özet

Herkese açık türler

@142 enum
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) Tür
void(*
EventID enum
HandlerId Tür
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
Bu işlev, bir aboneliği derhal 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

Struct

nl::Weave::Profiles::DataManagement_Current::SubscriptionsHandler::TraitInstanceInfo

Birlikler

nl::Weave::Profiles::DataManagement_Current::AbonelikHandler::InEventParam
nl::Weave::Profiles::DataManagement_Current::AbonelikHandler::OutEventParam

Herkese açık türler

@142

 @142

Etkinlik Geri Çağırması

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

Etkinlik Kimliği

 EventID

İşleyici Kimliği

uint8_t HandlerId

Herkese açık statik işlevler

VarsayılanEtkinlikHandler

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

Herkese açık işlevler

İptal Et

void AbortSubscription(
  void
)

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

Yayıncı aboneliğini iptal edin.

Müşteriye fesih hakkında bilgi vermek için bir girişimde bulunmaz ve böyle bir durumda var olan temel exchange bağlamı hemen iptal edilir. Bu çağrıdan sonra uygulamaya, bu nesnede başka etkinlik bildirilmez. Ayrıca, uygulamanın daha sonra yöntemlerinden herhangi biriyle bu nesneyle etkileşimde bulunmasına izin verilmez.

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

Abortsubscription() çağrısı yapıldığında SubscriptionHandler nesnesi Terminated durumuna girer. Fesih işlemi tamamlandığında nesneyle ilgili başka referans yoksa SubscriptionHandler nesnesi serbest bırakılır.

Kabul İsteğinde Bulun

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

Son Abonelik

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 ayrıntılı bir şekilde sonlandırın.

Bu, eşzamansız bir aramadır ve ilgili durumlarda Abonenin İptali/Durum Raporu mesajı aracılığıyla yaklaşan kapanma hakkında bilgilendirilir.

Bu yaklaşım, özellikle de uygulamanın bu aboneliğe dahil olmasını engellemektedir. Bu çağrıdan sonra uygulamaya, bu nesnede başka etkinlik bildirilmez. Ayrıca, uygulamanın daha sonra yöntemlerinden herhangi biriyle bu nesneyle etkileşimde bulunmasına izin verilmez.

Aboneliğin yayıncı tarafından sonlandırılmasını zarif bir şekilde sonlandırır. Abonelik iptali desteği etkinleştirilirse abonelik istemcisine bir {5/}CancelRequest mesajı gönderilir ve sistem, aboneliği sonlandırmadan önce bir yanıt bekler. Aksi takdirde, abonelik Abortsubscription() ile benzer şekilde hemen sonlandırılır. karşılıklı bir abonelik varsa, yayıncıdan müşteriye verilen karşı abonelik de sonlandırılır.

Ayrıntılar
Parametreler
[in] aReasonProfileId
Sonlandırmanın nedenini gösteren StatusCode'un ProfileId'si
[in] aReasonStatusCode
Sonlandırmanın nedenini belirten StatusCode
Döndürülen Değerler
Returns
Yalnızca bilgi amaçlı olan bir Wea hata kodu. Herhangi bir hatada nesne eşzamanlı olarak sonlandırılır (yani iptal edilir).

Abonelik İptali İsteği'ne yanıt beklenirken SubscriptionHandler, Canceling durumuna girer.

Fesih işlemi başladıktan sonra SubscriptionHandler nesnesi Terminated durumuna girer ve uygulamanın etkinlik işleyicisine bir OnSubscriptionTerminated etkinliği gönderilir. Destek desteği etkinleştirilmezse etkinlik işleyicinin EndAbonelik() çağrısında eşzamanlı olarak çağrılabileceğini unutmayın.

Uygulamanın etkinlik işleyicisi döndürüldükten sonra, SubscriptionHandler nesnesine ek referans yoksa nesne serbest bırakılır.

GetLinking

Binding * GetBinding(
  void
) const 

Maksimum PerformansBildirimi Alma

uint32_t GetMaxNotificationSize(
  void
) const 

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

Abonelik Abonelik Kimliği

WEAVE_ERROR GetSubscriptionId(
  uint64_t *const apSubscriptionId
)

IsActive

bool IsActive(
  void
)

İptal Ediyor

bool IsCanceling() const 

Yeni Bir Başlangıç

bool IsEstablishedIdle()

IsFree

bool IsFree()

Sonlandırıldı

bool IsTerminated()

Ayarlanan Maksimum Bildirim Boyutu

void SetMaxNotificationSize(
  const uint32_t aMaxPayload
)