nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
特定于应用的 WDM 客户端的抽象基类。
摘要
DMClient 是标准的 WDM 客户端。实现可以选择性地包含订阅/通知。它是 DM ProtocolEngine 类(负责处理复杂的通信问题)和完全抽象的 ClientDataManager 类的结合,其中实现了一些与订阅相关的方法,这样更高的层就不必操心它们。
与订阅相关的任务的处理程序主要充当 ClientNotifier 对象的瘦适配器。子类实现者应注意调用相关的超类方法,以调动订阅管理器。
DMClient 请求方法通常具有 2 个签名,一个具有显式目标节点 ID,另一个具有指定目标。无论是哪种情况,向发布商发送消息的功能都依赖于客户端中现有的绑定,但在第一种情况下,目标 ID 旨在在多个绑定目标之间进行选择;在第二种情况下,绑定表中的第一项会被选择为默认值。例如,如果客户端只能绑定到单个发布商,这会非常有用。
继承
继承自:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
构造函数和析构函数 |
|
---|---|
DMClient(void)
DMClient 对象的默认构造函数。
|
|
~DMClient(void)
DMClient 对象的析构函数。
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
请求查看已发布的数据。
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
请求查看默认发布商的数据。
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
请求更新已发布的数据。
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
请求更新默认发布商的数据。
|
受保护的属性 |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
公共函数 |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
请求取消正在执行的事务。
|
Clear(void)
|
virtual void
清除与 DMClient 对象关联的内部状态。
|
Finalize(void)
|
virtual void
关闭正在运行的 DMClient。
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
处理客户端正在使用的绑定“未完成”。
|
受保护的函数 |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
请求查看已发布的数据。
请求查看驻留在指定远程发布商上和管理的数据的视图。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
||||||||
返回值 |
否则,会返回一个 WEAVE_ERROR,反映事务初始化或启动失败。
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
请求查看默认发布商的数据。
请求驻留和管理“默认”发布商(即客户端绑定表中的第一个(或唯一)发布商)的数据视图。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
||||||
返回值 |
否则,会返回一个 WEAVE_ERROR,反映事务初始化或启动失败。
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
请求更新已发布的数据。
请求远程发布商更新管理下的数据。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
请求更新默认发布商的数据。
请求远程发布商更新管理下的数据。此版本将请求定向到客户端默认绑定的目标发布者。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
受保护的属性
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
公共函数
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
请求取消正在执行的事务。
此方法不会产生网络流量,只会释放为指定事务分配的资源
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果成功,则为 WEAVE_NO_ERROR;如果事务失败,则为 WEAVE_ERROR。
|
清除
virtual void Clear( void )
清除与 DMClient 对象关联的内部状态。
具体而言,此方法会清除所有客户端事务池。对于已在使用的客户端,最好使用 Finalize() 方法,因为该方法也会取消订阅,并清理事务和绑定表。
另请参阅:Finalize()
完成
virtual void Finalize( void )
关闭正在运行的 DMClient。
清除与客户端关联的所有操作状态,并从通知程序中移除所有相关订阅。调用 Finalize() 后,只需调用 Init() 即可重新初始化 DMClient。DMClient 析构函数会调用 Finalize(),但是在 DMClient 需要清理时(例如,出现故障或临时关闭),但可能需要稍后重新重构时可以调用 Finalize()。
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
处理客户端正在使用的绑定“未完成”。
当绑定意外失败(例如绑定中涉及的连接关闭)时,系统会调用此方法。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|