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.

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à khách hàng WDM tiêu chuẩn. Việc triển khai tùy chọn bao gồm đăng ký / thông báo. Đó là một sự pha trộn của DM ProtocolEngine lớp, trong đó xử lý các vệ tinh viễn thông quây xoay, và hoàn toàn trừu tượng ClientDataManager lớp, với một số phương pháp thuê bao liên quan đến thực hiện sao cho lớp cao hơn không cần phải lo lắng về chúng.

Việc xử lý đối với nhiệm vụ thuê bao liên quan đến chủ yếu đóng vai trò như một bộ chuyển đổi mỏng so với ClientNotifier đối tượng. 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.

DMClient phương pháp yêu cầu thường có 2 chữ ký, một với một ID node đích rõ ràng và khác với một điểm đến cụ thể. 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, 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)
Các constructor mặc định cho DMClient đối tượng.
~DMClient (void)
Destructor cho DMClient đối tượng.
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 chế độ 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 một giao dịch đang thực hiện.
Clear (void)
virtual void
Xóa trạng thái nội bộ liên kết với một DMClient đối tượng.
Finalize (void)
virtual void
Shut down một hành DMClient .
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
Một tham chiếu đến một ReferencedTLVData đối tượng chứa một danh sách đường TLV-mã hóa cho thấy các 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, một WEAVE_ERROR phản ánh sự thất bại để 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
Một tham chiếu đến một ReferencedTLVData đối tượng chứa một danh sách đường TLV-mã hóa cho thấy các 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, một WEAVE_ERROR phản ánh sự thất bại để 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
Một tham chiếu đến một ReferencedTLVData đối tượng chứa một danh sách dữ liệu TLV-mã hóa chứa một đại diện của bản cập nhật bao gồm các đường dẫn mà các bản cập nhật sẽ được áp dụng.
[in] aTxnId
Giá trị nhận dạng 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 về thành công hay WEAVE_ERROR_NO_MEMORY nếu một giao dịch cập nhật không thể được phân bổ. Nếu không, trả về một WEAVE_ERROR phản ánh một sự thất bạ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
Một tham chiếu đến một ReferencedTLVData đối tượng chứa một danh sách dữ liệu TLV-mã hóa chứa một đại diện của bản cập nhật bao gồm các đường dẫn mà các bản cập nhật sẽ được áp dụng.
[in] aTxnId
Giá trị nhận dạng 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 về thành công hay WEAVE_ERROR_NO_MEMORY nếu một giao dịch cập nhật không thể được phân bổ. Nếu không, trả về một WEAVE_ERROR phản ánh một sự thất bạ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 một giao dịch đang thực hiện.

Phương pháp 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 được chỉ định

Chi tiết
Thông số
[in] aTxnId
Số 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
Các WEAVE_ERROR báo cáo khi hủy giao dịch.
Lợi nhuận
WEAVE_NO_ERROR về thành công hay một WEAVE_ERROR phản ánh một sự thất bại để hủy bỏ giao dịch.

Thông thoáng

virtual void Clear(
  void
)

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

Đặ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 khách hàng đã được sử dụng các Finalize () phương pháp được ưa chuộng hơn vì nó cũng hủy bỏ đăng ký và dọn dẹp các giao dịch và bảng tính ràng buộc.

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

DMClient

 DMClient(
  void
)

Các constructor mặc định cho DMClient đối tượng.

Xóa tất cả trạng thái bên trong. Một DMClient đòi hỏi khởi hơn nữa với Init () trước khi sử dụng.

Hoàn thiện

virtual void Finalize(
  void
)

Shut down một hành DMClient .

Xóa tất cả trạng thái hoạt động được liên kết với ứ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 một cuộc gọi đến Finalize () một DMClient thể được reinitialized chỉ đơn giản bằng cách gọi Init (). Finalize () được gọi bởi DMClient destructor nhưng có thể được gọi trong trường hợp một DMClient đòi dọn dẹp, ví dụ như trong trường hợp thất bại hay tắt máy tạm thời, nhưng có thể cần phải được hoàn nguyên tại một thời gian sau đó.

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ỏ tới các Binding mà đã trở thành không đầy đủ.
[in] aReport
Tham chiếu đến báo cáo trạng thái đưa ra lý do lỗi.

~ DMClient

virtual  ~DMClient(
  void
)

Destructor cho DMClient đối tượng.

Xóa tất cả trạng thái nội bộ và nếu cần thiết sẽ 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
)