nl:: Weave:: Profiles:: DataManagement_Current:: SubscriptionHandler
Podsumowanie
Typy publiczne |
|
---|---|
@142
|
enum | typ wyliczeniowy |
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventID
|
enum | typ wyliczeniowy |
HandlerId
|
typedefuint8_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
|
Binding *
|
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:: |
Związki |
|
---|---|
nl:: |
|
nl:: |
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 |
|
||||
Zwracane wartości |
|
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 )