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 )