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

Podsumowanie

Typy publiczne

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

Publiczne funkcje statyczne

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

Funkcje publiczne

AbortSubscription(void)
void
Ta funkcja natychmiast kończy subskrypcję – jest to wywołanie synchroniczne.
AcceptSubscribeRequest(const uint32_t aLivenessTimeoutSec)
EndSubscription(const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
Ta funkcja inicjuje płynne zamknięcie subskrypcji i czyszczenie obiektu modułu obsługi.
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

Konstrukcja

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

Związki

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

Typy publiczne

@142

 @142

EventCallback

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

EventID

 EventID

HandlerId

uint8_t HandlerId

Publiczne funkcje statyczne

DefaultEventHandler

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

Funkcje publiczne

AbortSubscription

void AbortSubscription(
  void
)

Ta funkcja natychmiast kończy subskrypcję – jest to wywołanie synchroniczne.

Przerwać subskrypcję wydawcy.

Nie jest podejmowana próba powiadomienia klienta o zakończeniu konta, a podstawowy kontekst giełdy (jeśli jest dostępny) jest natychmiast przerywany. Po wywołaniu aplikacja nie będzie powiadamiana o żadnych dalszych działaniach dotyczących tego obiektu. Dodatkowo aplikacja nie może później wchodzić w interakcję z tym obiektem za pomocą żadnej z jej metod.

Kończy subskrypcję przez wydawcę bez powiadamiania klienta o subskrypcji i bez dostarczania zdarzenia OnSubscriptionTerminated do modułu obsługi zdarzeń aplikacji. Jeśli istnieje wspólna subskrypcja, licznik subskrypcji od wydawcy do klienta także zostanie zakończony.

Po wywołaniu AbortSubscription() obiekt SubscriptionHandler przechodzi w stan Terminated. Jeśli po zakończeniu procesu wykończenia nie ma dodatkowych odwołań do obiektu, obiekt SubscriptionHandler zostanie zwolniony.

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

Ta funkcja inicjuje płynne zamknięcie subskrypcji i czyszczenie obiektu modułu obsługi.

Elegancko zakończ subskrypcję wydawcy.

Jest to połączenie asynchroniczne, które w razie potrzeby powiadomi klienta o zbliżającym się wyłączeniu, wysyłając w razie potrzeby komunikat SubscribeCancel/StatusReport.

W szczególności eliminuje to zaangażowanie aplikacji w subskrypcję. Po wywołaniu aplikacja nie będzie powiadamiana o żadnych dalszych działaniach dotyczących tego obiektu. Dodatkowo aplikacja nie może później wchodzić w interakcję z tym obiektem za pomocą żadnej z jej metod.

Zgrabne kończenie subskrypcji przez wydawcę. Jeśli obsługa anulowania subskrypcji jest włączona, do klienta subskrypcji wysyłany jest komunikat SubscribeCancelRequest, a system czeka na odpowiedź przed zakończeniem subskrypcji. W przeciwnym razie subskrypcja zostanie natychmiast zakończona w sposób podobny do AbortSubscription(). Jeśli istnieje wspólna subskrypcja, licznik subskrypcji od wydawcy i do klienta również zostanie zakończony.

Szczegóły
Parametry
[in] aReasonProfileId
Identyfikator profilu kodu StatusCode wskazujący przyczynę zamknięcia
[in] aReasonStatusCode
Kod stanu wskazujący przyczynę zamknięcia konta
Zwracane wartości
Returns
kodu błędu Weave wyłącznie w celach informacyjnych. W przypadku każdego błędu obiekt zostanie synchronicznie zakończony (przerwany).

Podczas oczekiwania na odpowiedź na żądanie SubscribeCancelRequest SubscriptionHandler przechodzi w stan Canceling.

Po rozpoczęciu procesu wykończenia obiekt SubscriptionHandler przechodzi w stan Terminated, a zdarzenie OnSubscriptionTerminated jest dostarczane do modułu obsługi zdarzeń aplikacji. Pamiętaj, że jeśli obsługa anulowania nie jest włączona, moduł obsługi zdarzeń może być wywoływany synchronicznie w obrębie wywołania EndSubscription().

Jeśli po zwróceniu modułu obsługi zdarzeń aplikacji nie ma dodatkowych odwołań do obiektu SubscriptionHandler, obiekt zostanie zwolniony.

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
)