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 )