нл:: Переплетение:: Профили:: DataManagement_Current:: Обработчик подписки

Краткое содержание

Публичные типы

@142 перечисление
EventCallback )(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) определение типа
void(*
EventID перечисление
HandlerId определение типа
uint8_t

Публичные статические функции

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

Общественные функции

AbortSubscription (void)
void
Эта функция немедленно прекращает подписку — это синхронный вызов.
AcceptSubscribeRequest (const uint32_t aLivenessTimeoutSec)
EndSubscription (const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
Эта функция инициирует корректное завершение подписки и очистку объекта-обработчика.
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

Структуры

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

Союзы

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

Публичные типы

@142

 @142

Обратный вызов события

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

идентификатор события

 EventID

идентификатор обработчика

uint8_t HandlerId

Публичные статические функции

Обработчик событий по умолчанию

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

Общественные функции

Прервать подписку

void AbortSubscription(
  void
)

Эта функция немедленно прекращает подписку — это синхронный вызов.

Отменить подписку издателя.

Не предпринимается никаких попыток уведомить клиента о прекращении, а базовый контекст обмена, если он присутствует, немедленно прерывается. После этого вызова приложение не будет уведомляться о дальнейших действиях с этим объектом. Кроме того, после этого приложению не разрешается взаимодействовать с этим объектом посредством любого из его методов.

Завершает подписку на стороне издателя, не уведомляя клиента подписки и не доставляя событие OnSubscriptionTerminated обработчику событий приложения. Если существует взаимная подписка, встречная подписка от издателя клиенту также прекращается.

При вызове AbortSubscription() объект SubscriptionHandler переходит в состояние Terminated . Если после завершения процесса завершения нет дополнительных ссылок на объект, объект SubscriptionHandler освобождается.

ПринятьПодписатьЗапрос

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

Завершить подписку

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

Эта функция инициирует корректное завершение подписки и очистку объекта-обработчика.

Аккуратно завершите подписку издателя.

Это асинхронный вызов, который уведомляет клиента о предстоящем завершении работы через сообщение SubscribeCancel/StatusReport, где это необходимо.

Примечательно, что это отказывается от участия приложения в этой подписке. После этого вызова приложение не будет уведомляться о дальнейших действиях с этим объектом. Кроме того, после этого приложению не разрешается взаимодействовать с этим объектом посредством любого из его методов.

Грамотно завершает подписку издателя. Если включена поддержка отмены подписки, клиенту подписки отправляется сообщение SubscribeCancelRequest, и система ожидает ответа перед прекращением подписки; в противном случае подписка немедленно прекращается аналогично AbortSubscription() . Если существует взаимная подписка, встречная подписка от издателя клиенту также прекращается.

Подробности
Параметры
[in] aReasonProfileId
ProfileId кода состояния, указывающий причину прекращения.
[in] aReasonStatusCode
Код статуса, указывающий причину прекращения
Возвращаемые значения
Returns
Код ошибки Weave предназначен только для информационных целей. В случае любой ошибки объект будет завершен синхронно (т.е. прерван).

В ожидании ответа на SubscribeCancelRequest SubscriptionHandler переходит в состояние Canceling .

После начала процесса завершения объект SubscriptionHandler переходит в состояние Terminated , и событие OnSubscriptionTerminated доставляется обработчику событий приложения. Обратите внимание: если поддержка отмены не включена, обработчик событий может вызываться синхронно внутри вызова EndSubscription() .

После возврата обработчика событий приложения, если нет дополнительных ссылок на объект SubscriptionHandler , объект освобождается.

Получить привязку

Binding * GetBinding(
  void
) const 

GetMaxNotificationSize

uint32_t GetMaxNotificationSize(
  void
) const 

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

GetSubscriptionId

WEAVE_ERROR GetSubscriptionId(
  uint64_t *const apSubscriptionId
)

Активен

bool IsActive(
  void
)

Отмена

bool IsCanceling() const 

IsEstablishedIdle

bool IsEstablishedIdle()

Бесплатно

bool IsFree()

Истерминировано

bool IsTerminated()

SetMaxNotificationSize

void SetMaxNotificationSize(
  const uint32_t aMaxPayload
)