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 消息(若相关)通知客户端即将关闭。
值得注意的是,这将使应用程序放弃该订阅。在此调用之后,应用将不会收到有关此对象的任何进一步活动的通知。此外,应用之后不得通过其任何方法与此对象进行交互。
正常终止发布商的订阅。如果启用了订阅取消支持,系统会向订阅客户端发送 SubscribeCancelRequest 消息,然后系统会在终止订阅前等待回复;否则,订阅会立即以与 AbortSubscription() 类似的方式终止。如果存在相互订阅,则从发布者返回客户端的计数器订阅也会终止。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
在等待 SubscribeCancelRequest 响应时,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 )