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。Finalize() 由 DMClient 析构函数调用,但在 DMClient 需要清理时可能会调用,例如:以防出现故障或暂时关闭,但可能稍后需要重新构建。
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
处理“未完成”客户端使用的绑定的状态
当绑定意外失败时,例如如果绑定涉及的连接已关闭,则调用此方法。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|