NL::编织::简介:: DataManagement_Legacy:: DM客户端
#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 * |
查看请求
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
请求查看已发布的数据。
请求查看驻留在指定远程发布者上并由其管理的数据。
细节 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
| ||||||||
返回值 |
| ||||||||
退货 | 否则, WEAVE_ERROR反映未能初始化或启动交易。 |
查看请求
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
请求查看默认发布者的数据。
请求驻留在“默认”发布者上并由其管理的数据视图,即客户端绑定表中的第一个(或唯一的)发布者。
细节 | |||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
返回值 |
| ||||||
退货 | 否则, WEAVE_ERROR反映未能初始化或启动交易。 |
更新请求
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 )
请求更新默认发布者上的数据。
请求远程发布者更新管理下的数据。此版本将请求定向到作为客户端默认绑定目标的发布者。
细节 | |||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
退货 |
受保护的属性
更新池
Update mUpdatePool[kUpdatePoolSize]
视图池
View mViewPool[kViewPoolSize]
公共职能
取消交易请求
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
请求取消正在执行的事务。
此方法不会产生网络流量,而只是释放为指定事务分配的资源
细节 | |||||
---|---|---|---|---|---|
参数 |
| ||||
退货 | WEAVE_NO_ERROR成功或WEAVE_ERROR反映故障取消交易。 |
清除
virtual void Clear( void )
清除与一个相关联的内部状态DMClient对象。
特别是,此方法会清除所有客户端事务池。对于已经在使用客户端的Finalize()方法是优选的,因为它也取消订阅和清理交易和绑定表。
也可以看看:完成()
敲定
virtual void Finalize( void )
指示不全
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
处理客户端使用的绑定的“未完成”。
当绑定意外失败时,例如,如果绑定中涉及的连接已关闭,则调用此方法。
细节 | |||||
---|---|---|---|---|---|
参数 |
|
受保护的功能
新更新
Update * NewUpdate( void )
新视图
View * NewView( void )