Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: Hồ sơ :: DataManagement_Legacy :: DMClient

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

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

Tóm lược

DMClient là ứng dụng khách WDM tiêu chuẩn. Việc triển khai tùy chọn bao gồm đăng ký / thông báo. Nó là sự kết hợp của lớp DM ProtocolEngine , lớp này xử lý việc quay vòng 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 đăng ký được triển khai để các lớp cao hơn không phải lo lắng về chúng.

Các trình xử lý cho các tác vụ liên quan đến đăng ký chủ yếu hoạt động như một bộ điều hợp mỏng trên đối tượng ClientNotifier . Những người triển khai lớp con nên cẩn thận để gọi các phương thức siêu lớp có liên quan để biến trình quản lý đăng ký quay trở lại.

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

Di sản

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

Người xây dựng và Người phá hủy

DMClient (void)
Hàm tạo mặc định cho các đối tượng DMClient .
~DMClient (void)
Bộ hủy 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 trên 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 trên nhà xuất bản mặc định.

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

mUpdatePool [kUpdatePoolSize]
mViewPool [kViewPoolSize]

Chức năng công cộng

CancelTransactionRequest (uint16_t aTxnId, WEAVE_ERROR aError)
Yêu cầu hủy giao dịch đang thực hiện.
Clear (void)
virtual void
Xóa trạng thái bên trong được 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ý "sự không hoàn thành" của một ràng buộc đang được khách hàng sử dụng.

Các chức năng được bảo vệ

NewUpdate (void)
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 chế độ xem dữ liệu do một nhà xuất bản từ xa đã chỉ định dựa trên và quản lý.

Chi tiết
Thông số
[in] aDestinationId
Tham chiếu đến ID 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ã hóa TLV cho biết dữ liệu được yêu cầu.
[in] aTxnId
Giá trị nhận dạng cho giao dịch WDM được thiết lập để quản lý hoạt động xem này.
[in] aTimeout
Thời gian tối đa tính bằng mili giây để đợi phản hồi lượt xem.
Giá trị trả lại
WEAVE_NO_ERROR
Về thành công.
WEAVE_ERROR_NO_MEMORY
Nếu một giao dịch không thể được phân bổ.
Lợi nhuận
Nếu không, WEAVE_ERROR phản ánh lỗi không thể khởi tạo hoặc bắt đầu giao dịch.

ViewRequest

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

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

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

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

Chi tiết
Thông số
[in] aDestinationId
Tham chiếu đến ID 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 một đối tượng ReferencedTLVData chứa danh sách dữ liệu được mã hóa TLV có chứa bản trình bày về bản cập nhật bao gồm các đường dẫn mà bản cập nhật sẽ được áp dụng.
[in] aTxnId
Mã định danh cho giao dịch được thiết lập để 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 để đợi báo cáo trạng thái tương ứng.
Lợi nhuận
WEAVE_NO_ERROR 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 trên 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 được quản lý. Phiên bản này hướng yêu cầu đến nhà xuất bản là mục tiêu của ràng buộc mặc định của khách hàng.

Chi tiết
Thông số
[in] aDataList
Tham chiếu đến đối tượng ReferencedTLVData chứa danh sách dữ liệu được mã hóa TLV có chứa bản trình bày về bản cập nhật bao gồm các đường dẫn mà bản cập nhật sẽ được áp dụng.
[in] aTxnId
Mã định danh cho giao dịch được thiết lập để 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 để đợi báo cáo trạng thái tương ứng.
Lợi nhuận
WEAVE_NO_ERROR 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, 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]

Chức năng công cộng

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Yêu cầu hủy giao dịch đang thực hiện.

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

Chi tiết
Thông số
[in] aTxnId
Số lượng giao dịch bị hủy. Nếu kTransactionIdNotSpecified được cung cấp, tất cả các giao dịch sẽ bị hủy.
[in] aError
WEAVE_ERROR để báo cáo khi hủy giao dịch.
Lợi nhuận
WEAVE_NO_ERROR về thành công hoặc WEAVE_ERROR phản ánh không thể hủy giao dịch.

Thông thoáng

virtual void Clear(
  void
)

Xóa trạng thái bên trong được liên kết với đối tượng DMClient .

Đặc biệt, phương pháp này xóa tất cả các nhóm giao dịch của khách hàng. Đối với các khách hàng đã sử dụng, phương thức Finalize () thích hợp hơn vì nó cũng hủy đăng ký và dọn dẹp các bảng giao dịch và ràng buộc.

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

DMClient

 DMClient(
  void
)

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

Xóa tất cả trạng thái bên trong. DMClient yêu cầu khởi tạo thêm với Init () trước khi sử dụng.

Hoàn thiện

virtual void Finalize(
  void
)

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

Xóa tất cả trạng thái hoạt động liên quan đến ứng dụng khách và xóa tất cả các đăng ký liên quan khỏi trình thông báo. Sau khi gọi tới Finalize (), một DMClient có thể được khởi động lại bằng cách gọi Init (). Finalize () được gọi bởi trình hủy DMClient nhưng có thể được gọi trong trường hợp DMClient yêu cầu dọn dẹp, ví dụ như trong trường hợp bị lỗi hoặc tắt máy tạm thời, nhưng có thể cần được hoàn nguyên sau một thời gian.

IncompleteIndication

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

Xử lý "sự không hoàn thành" của một ràng buộc đang được khách hàng sử dụng.

Khi một liên kết bị lỗi bất ngờ, 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 được gọi.

Chi tiết
Thông số
[in] aBinding
Một con trỏ đến Ràng buộc đã trở nên chưa hoàn chỉnh.
[in] aReport
Tham chiếu đến báo cáo trạng thái đưa ra lý do lỗi.

~ DMClient

virtual  ~DMClient(
  void
)

Bộ hủy cho các đối tượng DMClient .

Xóa tất cả trạng thái nội bộ và nếu cần thì hủy các đăng ký đang chờ xử lý.

Các chức năng được bảo vệ

Cập nhật mới

Update * NewUpdate(
  void
)

Xem mới

View * NewView(
  void
)