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)
NewView (void)
View *

查看请求

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

请求查看已发布的数据。

请求查看驻留在指定远程发布者上并由其管理的数据。

细节
参数
[in] aDestinationId
对远程发布者的 64 位节点 ID 的引用。
[in] aPathList
甲参照ReferencedTLVData包含指示所请求的数据的TLV编码的路径列表对象。
[in] aTxnId
为管理此视图操作而设置的 WDM 事务的标识符。
[in] aTimeout
等待视图响应的最长时间(以毫秒为单位)。
返回值
WEAVE_NO_ERROR
关于成功。
WEAVE_ERROR_NO_MEMORY
如果无法分配事务。
退货
否则, WEAVE_ERROR反映未能初始化或启动交易。

查看请求

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

请求查看默认发布者的数据。

请求驻留在“默认”发布者上并由其管理的数据视图,即客户端绑定表中的第一个(或唯一的)发布者。

细节
参数
[in] aPathList
甲参照ReferencedTLVData包含指示所请求的数据的TLV编码的路径列表对象。
[in] aTxnId
为管理此视图操作而设置的 WDM 事务的标识符。
[in] aTimeout
等待视图响应的最长时间(以毫秒为单位)。
返回值
WEAVE_NO_ERROR
关于成功。
WEAVE_ERROR_NO_MEMORY
如果无法分配事务。
退货
否则, WEAVE_ERROR反映未能初始化或启动交易。

更新请求

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

请求更新已发布的数据。

请求远程发布者更新管理下的数据。

细节
参数
[in] aDestinationId
对将请求发送到的远程发布者的 64 位节点 ID 的引用。
[in] aDataList
甲参照ReferencedTLVData包含含有所述更新包括更新是要应用的路径的表示的TLV编码的数据列表对象。
[in] aTxnId
为管理更新请求而设置的事务的标识符。
[in] aTimeout
等待相应状态报告的最长时间(以毫秒为单位)。
退货
WEAVE_NO_ERROR成功或WEAVE_ERROR_NO_MEMORY如果更新事务不能进行分配。否则,返回WEAVE_ERROR反映更新失败。

更新请求

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

请求更新默认发布者上的数据。

请求远程发布者更新管理下的数据。此版本将请求定向到作为客户端默认绑定目标的发布者。

细节
参数
[in] aDataList
甲参照ReferencedTLVData包含含有所述更新包括更新是要应用的路径的表示的TLV编码的数据列表对象。
[in] aTxnId
为管理更新请求而设置的事务的标识符。
[in] aTimeout
等待相应状态报告的最长时间(以毫秒为单位)。
退货
WEAVE_NO_ERROR成功或WEAVE_ERROR_NO_MEMORY如果更新事务不能进行分配。否则,返回WEAVE_ERROR反映更新失败。

受保护的属性

更新池

Update mUpdatePool[kUpdatePoolSize]

视图池

View mViewPool[kViewPoolSize]

公共职能

取消交易请求

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

请求取消正在执行的事务。

此方法不会产生网络流量,而只是释放为指定事务分配的资源

细节
参数
[in] aTxnId
要取消的交易编号。如果提供了 kTransactionIdNotSpecified,则所有交易都将被取消。
[in] aError
WEAVE_ERROR以取消交易时报告。
退货
WEAVE_NO_ERROR成功或WEAVE_ERROR反映故障取消交易。

清除

virtual void Clear(
  void
)

清除与一个相关联的内部状态DMClient对象。

特别是,此方法会清除所有客户端事务池。对于已经在使用客户端的Finalize()方法是优选的,因为它也取消订阅和清理交易和绑定表。

也可以看看:
完成()

DM客户端

 DMClient(
  void
)

默认的构造函数DMClient对象。

清除所有内部状态。一个DMClient需要使用init()在使用前进一步的初始化。

敲定

virtual void Finalize(
  void
)

关闭操作DMClient

清除与客户端关联的所有操作状态并从通知程序中删除所有相关订阅。在通话结束后最终确定()DMClient可以简单地通过调用初始化重新初始化()。 最终化()被调用的DMClient析构函数,而是可以在其中的情况下被称为DMClient需要清理,例如在故障或临时停机时,但可能需要在一段时间后进行重构。

指示不全

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

处理客户端使用的绑定的“未完成”。

当绑定意外失败时,例如,如果绑定中涉及的连接已关闭,则调用此方法。

细节
参数
[in] aBinding
的指针绑定,已成为不完整的。
[in] aReport
对提供失败原因的状态报告的引用。

~DMClient

virtual  ~DMClient(
  void
)

析构函数DMClient对象。

清除所有内部状态,并在必要时取消挂起的订阅。

受保护的功能

新更新

Update * NewUpdate(
  void
)

新视图

View * NewView(
  void
)