nl:: Weave:: Profiles:: DataManagement_Current:: SubscriptionHandler
요약
공개 유형 |
|
---|---|
@142
|
enum |
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventID
|
enum |
HandlerId
|
typedefuint8_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
|
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
|
구조체 |
|
---|---|
nl:: |
Union |
|
---|---|
nl:: |
|
nl:: |
공개 유형
@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()과 유사한 방식으로 구독이 즉시 종료됩니다. 상호 구독이 있는 경우 게시자에서 클라이언트로 다시 보내는 카운터 구독도 종료됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
SubscriptionsCancelRequest의 응답을 기다리는 동안 SubscriptionHandler
가 Canceling
상태로 전환됩니다.
종료 프로세스가 시작되면 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 )