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

요약

공개 유형

@142 enum
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventID enum
HandlerId typedef
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

Union

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

공개 유형

@142

 @142

EventCallback

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

EventID

 EventID

HandlerId

uint8_t HandlerId

공개 정적 함수

DefaultEventHandler

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

공개 함수

AbortSubscription

void AbortSubscription(
  void
)

이 함수는 구독을 즉시 종료합니다. 이는 동기 호출입니다.

게시자 구독을 취소합니다.

클라이언트에 종료를 알리려고 시도하지 않으며, 기본 교환 컨텍스트가 있는 경우 즉시 취소됩니다. 이 호출 후에 이 객체의 추가 활동에 관한 알림이 애플리케이션에 전송되지 않습니다. 또한 애플리케이션은 그 후 해당 메서드를 통해 이 객체와 상호작용할 수 없습니다.

구독 클라이언트에 알리지 않고 애플리케이션의 이벤트 핸들러에 OnSubscriptionTerminated 이벤트를 전달하지 않고 게시자의 구독 종료를 종료합니다. 상호 구독이 있는 경우 게시자에서 클라이언트로 돌아가는 카운터 구독도 종료됩니다.

AbortSubscription()을 호출하면 SubscriptionHandler 객체가 Terminated 상태로 전환됩니다. 종료 프로세스가 완료될 때 객체에 대한 추가 참조가 없으면 SubscriptionHandler 객체가 해제됩니다.

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

이 함수는 구독의 정상적인 종료 및 핸들러 객체 정리를 시작합니다.

게시자 구독을 정상적으로 종료합니다.

비동기 호출이며 해당하는 경우 subscribeCancel/StatusReport 메시지를 통해 임박한 종료를 클라이언트에 알립니다.

특히 이 구독에서 애플리케이션의 참여를 포기합니다. 이 호출 후에 이 객체의 추가 활동에 관한 알림이 애플리케이션에 전송되지 않습니다. 또한 애플리케이션은 그 후 해당 메서드를 통해 이 객체와 상호작용할 수 없습니다.

게시자의 구독 종료를 정상적으로 종료합니다. 구독 취소 지원이 사용 설정된 경우 구독 취소 요청 메시지가 구독 클라이언트로 전송되고 시스템은 구독을 종료하기 전에 응답을 기다립니다. 그러지 않으면 AbortSubscription()과 유사한 방식으로 구독이 즉시 종료됩니다. 상호 구독이 존재하면 게시자로부터 클라이언트로 전송된 카운터 구독도 종료됩니다.

세부정보
매개변수
[in] aReasonProfileId
종료 이유를 나타내는 StatusCode의 ProfileId입니다.
[in] aReasonStatusCode
종료 이유를 나타내는 StatusCode입니다.
반환 값
Returns
Weave 오류 코드가 표시됩니다. 오류가 발생하면 객체가 동기식으로 종료 (취소)됩니다.

SubscriptionsCancelRequest의 응답을 기다리는 동안 SubscriptionHandlerCanceling 상태가 됩니다.

종료 프로세스가 시작되면 SubscriptionHandler 객체가 Terminated 상태로 전환되고 OnSubscriptionTerminated 이벤트가 애플리케이션의 이벤트 핸들러에 전달됩니다. 취소 지원이 사용 설정되지 않은 경우 EndSubscription() 호출 내에서 이벤트 핸들러가 동기식으로 호출될 수 있습니다.

애플리케이션의 이벤트 핸들러가 반환된 후 SubscriptionHandler 객체에 대한 추가 참조가 없으면 객체가 해제됩니다.

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
)