nl:: Weave:: Profiles:: DataManagement_Current:: SubscriptionHandler
摘要
公開類型 |
|
---|---|
@142
|
列舉 |
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventID
|
列舉 |
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:: |
工會 |
|
---|---|
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 訊息通知用戶端即將關閉的事宜。
值得注意的是,這會導致應用程式開始參與這項訂閱。在此呼叫後,應用程式將不會再收到此物件的任何進一步活動通知。此外,應用程式也不允許應用程式透過其任何方法與此物件互動。
正常終止發布者訂閱。如果已啟用訂閱取消支援,系統會將 SubscriptionCancelRequest 訊息傳送給訂閱用戶端,然後系統會等待回覆,然後再終止訂閱;否則將以類似 AbortSubscription() 的方式立即終止訂閱。如果有,從發布者返回用戶端的計數器訂閱也會終止。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
在等待回應 SubscriptionCancelRequest 時,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 )