nl::Weave::Profiles::DataManagement_Legacy::DMClient

#include <src/lib/profiles/data-management/Legacy/DMClient.h>

Lớp cơ sở trừu tượng cho các ứng dụng WDM dành riêng cho ứng dụng.

Tóm tắt

DMClient là ứng dụng WDM tiêu chuẩn. Việc triển khai bao gồm gói thuê bao/thông báo (không bắt buộc). Lớp này là sự kết hợp giữa lớp DM ProtocolEngine xử lý việc quay vòng giao tiếp và lớp ClientDataManager hoàn toàn trừu tượng, với một số phương thức liên quan đến gói thuê bao được triển khai để các lớp cao hơn không phải lo lắng về các phương thức đó.

Trình xử lý cho các tác vụ liên quan đến gói thuê bao chủ yếu hoạt động như một bộ chuyển đổi mỏng trên đối tượng ClientNotifier. Người triển khai lớp con cần chú ý gọi các phương thức của lớp cấp cao có liên quan để điều chỉnh trình quản lý gói thuê bao.

Các phương thức yêu cầu DMClient thường có 2 chữ ký, một chữ ký có mã nút đích rõ ràng và phương thức còn lại có đích đến được chỉ định. Trong cả hai trường hợp, khả năng gửi thông báo đến nhà xuất bản phụ thuộc vào liên kết có sẵn trong ứng dụng. Tuy nhiên, trong trường hợp đầu tiên, mã đích đến được dùng để chọn giữa nhiều đích đến ràng buộc và trong trường hợp thứ hai, mục đầu tiên trong bảng liên kết được chọn làm mặc định. Điều này hữu ích, chẳng hạn như khi khách hàng chỉ liên kết với một nhà xuất bản duy nhất.

Tính kế thừa

Kế thừa từ:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

Hàm khởi tạo và phá huỷ

DMClient(void)
Hàm khởi tạo mặc định cho các đối tượng DMClient.
~DMClient(void)
Hàm huỷ cho các đối tượng DMClient.
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Yêu cầu xem dữ liệu đã xuất bản.
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Yêu cầu xem dữ liệu về nhà xuất bản mặc định.
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Yêu cầu cập nhật dữ liệu đã xuất bản.
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Yêu cầu cập nhật dữ liệu của nhà xuất bản mặc định.

Thuộc tính được bảo vệ

mUpdatePool[kUpdatePoolSize]
mViewPool[kViewPoolSize]

Hàm công khai

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Yêu cầu huỷ một giao dịch đang thực thi.
Clear(void)
virtual void
Xoá trạng thái nội bộ liên kết với đối tượng DMClient.
Finalize(void)
virtual void
Tắt DMClient đang hoạt động.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Xử lý lỗi "chưa hoàn thành" của liên kết đang được ứng dụng sử dụng.

Hàm được bảo vệ

NewUpdate(void)
Update *
NewView(void)
View *

ViewRequest

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

Yêu cầu xem dữ liệu đã xuất bản.

Yêu cầu xem dữ liệu do một nhà xuất bản từ xa được chỉ định quản lý và lưu trữ.

Thông tin chi tiết
Tham số
[in] aDestinationId
Tham chiếu đến mã nhận dạng nút 64 bit của nhà xuất bản từ xa.
[in] aPathList
Tham chiếu đến đối tượng ReferencedTLVData chứa danh sách đường dẫn được mã hoá TLV cho biết dữ liệu được yêu cầu.
[in] aTxnId
Giá trị nhận dạng cho thiết lập giao dịch WDM để quản lý thao tác xem này.
[in] aTimeout
Thời gian tối đa tính bằng mili giây để chờ phản hồi lượt xem.
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
WEAVE_ERROR_NO_MEMORY
Nếu không thể phân bổ một giao dịch.
Trả về
Nếu không, lỗi WEAVE_ERROR cho biết lỗi không khởi động hoặc bắt đầu được giao dịch.

ViewRequest

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

Yêu cầu xem dữ liệu về nhà xuất bản mặc định.

Yêu cầu xem dữ liệu được lưu trữ và quản lý theo chế độ "mặc định" nhà xuất bản, tức là nhà xuất bản đầu tiên (hoặc duy nhất) trong bảng liên kết của khách hàng.

Thông tin chi tiết
Tham số
[in] aPathList
Tham chiếu đến đối tượng ReferencedTLVData chứa danh sách đường dẫn được mã hoá TLV cho biết dữ liệu được yêu cầu.
[in] aTxnId
Giá trị nhận dạng cho thiết lập giao dịch WDM để quản lý thao tác xem này.
[in] aTimeout
Thời gian tối đa tính bằng mili giây để chờ phản hồi lượt xem.
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
WEAVE_ERROR_NO_MEMORY
Nếu không thể phân bổ một giao dịch.
Trả về
Nếu không, lỗi WEAVE_ERROR cho biết lỗi không khởi động hoặc bắt đầu được giao dịch.

UpdateRequest

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

Yêu cầu cập nhật dữ liệu đã xuất bản.

Yêu cầu nhà xuất bản từ xa cập nhật dữ liệu thuộc quyền quản lý.

Thông tin chi tiết
Tham số
[in] aDestinationId
Tham chiếu đến mã nút 64 bit của nhà xuất bản từ xa mà yêu cầu đang được gửi đến.
[in] aDataList
Tham chiếu đến đối tượng ReferencedTLVData chứa danh sách dữ liệu được mã hoá TLV chứa bản trình bày về bản cập nhật, bao gồm cả các đường dẫn sẽ áp dụng bản cập nhật.
[in] aTxnId
Giá trị nhận dạng của thiết lập giao dịch để quản lý yêu cầu cập nhật.
[in] aTimeout
Thời gian tối đa tính bằng mili giây để chờ báo cáo trạng thái tương ứng.
Trả về
WEAVE_NO_ERROR khi thành công hoặc WEAVE_ERROR_NO_MEMORY nếu không thể phân bổ giao dịch cập nhật. Nếu không, hãy trả về WEAVE_ERROR phản ánh lỗi cập nhật.

UpdateRequest

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

Yêu cầu cập nhật dữ liệu của nhà xuất bản mặc định.

Yêu cầu nhà xuất bản từ xa cập nhật dữ liệu thuộc quyền quản lý. Phiên bản này chuyển yêu cầu đến nhà xuất bản là mục tiêu của liên kết mặc định của ứng dụng.

Thông tin chi tiết
Tham số
[in] aDataList
Tham chiếu đến đối tượng ReferencedTLVData chứa danh sách dữ liệu được mã hoá TLV chứa bản trình bày về bản cập nhật, bao gồm cả các đường dẫn sẽ áp dụng bản cập nhật.
[in] aTxnId
Giá trị nhận dạng của thiết lập giao dịch để quản lý yêu cầu cập nhật.
[in] aTimeout
Thời gian tối đa tính bằng mili giây để chờ báo cáo trạng thái tương ứng.
Trả về
WEAVE_NO_ERROR khi thành công hoặc WEAVE_ERROR_NO_MEMORY nếu không thể phân bổ giao dịch cập nhật. Nếu không, hãy trả về WEAVE_ERROR phản ánh lỗi cập nhật.

Thuộc tính được bảo vệ

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

Hàm công khai

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Yêu cầu huỷ một giao dịch đang thực thi.

Phương thức này không tạo ra lưu lượng truy cập mạng mà chỉ giải phóng tài nguyên được phân bổ cho(các) giao dịch đã chỉ định

Thông tin chi tiết
Tham số
[in] aTxnId
Số giao dịch bị huỷ. Nếu bạn cung cấp kTransactionIdNot specified, thì tất cả giao dịch sẽ bị huỷ.
[in] aError
WEAVE_ERROR để báo cáo khi huỷ giao dịch.
Trả về
WEAVE_NO_ERROR khi thành công hoặc lỗi WEAVE_ERROR cho biết không huỷ được giao dịch.

Xóa

virtual void Clear(
  void
)

Xoá trạng thái nội bộ liên kết với đối tượng DMClient.

Cụ thể, phương thức này xoá tất cả các nhóm giao dịch khách. Đối với những ứng dụng đang sử dụng phương thức Finalize(), bạn nên dùng phương thức này vì phương thức này cũng sẽ huỷ các gói thuê bao cũng như dọn dẹp các bảng giao dịch và liên kết.

Xem thêm:
Kết thúc()

DMClient

 DMClient(
  void
)

Hàm khởi tạo mặc định cho các đối tượng DMClient.

Xoá tất cả trạng thái nội bộ. DMClient yêu cầu khởi chạy thêm bằng Init() trước khi sử dụng.

Hoàn tất

virtual void Finalize(
  void
)

Tắt DMClient đang hoạt động.

Xoá tất cả trạng thái hoạt động được liên kết với ứng dụng và xoá tất cả gói thuê bao có liên quan khỏi trình thông báo. Sau lệnh gọi đến Finalize(), DMClient có thể được khởi động lại chỉ bằng cách gọi Init(). Finalize() được gọi bởi hàm khởi tạo DMClient nhưng có thể được gọi trong trường hợp DMClient yêu cầu dọn dẹp, ví dụ: trong trường hợp không thành công hoặc bị tắt tạm thời, nhưng có thể cần được khôi phục sau này.

IncompleteIndication

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

Xử lý lỗi "chưa hoàn thành" của liên kết đang được ứng dụng sử dụng.

Khi một liên kết bị lỗi đột ngột, ví dụ: nếu kết nối liên quan đến liên kết bị đóng, thì phương thức này sẽ được gọi.

Thông tin chi tiết
Tham số
[in] aBinding
Con trỏ đến Binding (Liên kết) chưa hoàn chỉnh.
[in] aReport
Giá trị tham chiếu đến báo cáo trạng thái đưa ra lý do khiến quảng cáo không đạt yêu cầu.

~DMClient

virtual  ~DMClient(
  void
)

Hàm huỷ cho các đối tượng DMClient.

Xoá tất cả trạng thái nội bộ và huỷ các gói thuê bao đang chờ xử lý (nếu cần).

Hàm được bảo vệ

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)