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
)