nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

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

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

Tóm tắt

DMPublisher là lớp cơ sở nhà xuất bản WDM tiêu chuẩn. Lớp này là sự kết hợp của lớp DM ProtocolEngine xử lý việc quay vòng truyền thông và lớp PublisherDataManager hoàn toàn trừu tượng. Tính năng hỗ trợ gói thuê bao và thông báo là không bắt buộc và có thể bị chặn chỉ bằng cách định cấu hình bảng gói thuê bao không có mục nhập nào.

Tính kế thừa

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

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

DMPublisher(void)
Hàm khởi tạo mặc định cho các đối tượng DMPublisher.
~DMPublisher(void)
Hàm huỷ cho đối tượng DMPublisher.

Hàm công khai

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Xoá trạng thái nội bộ của đối tượng DMPublisher.
Finalize(void)
virtual void
Tắt DMPublisher đang hoạt động.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Xử lý chỉ báo cho biết không liên kết được.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Khởi động một đối tượng DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Trả lời yêu cầu cập nhật.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Phản hồi yêu cầu xem.

Hàm công khai

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Xóa

virtual void Clear(
  void
)

Xoá trạng thái nội bộ của đối tượng DMPublisher.

Xoá nhóm thông báo giao dịch và bảng gói thuê bao.

DMPublisher

 DMPublisher(
  void
)

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

Xoá tất cả trạng thái nội bộ.

Hoàn tất

virtual void Finalize(
  void
)

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

Xoá tất cả trạng thái hoạt động và tắt trình nghe nếu có một trình nghe đang chạy.

IncompleteIndication

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

Xử lý chỉ báo cho biết không liên kết được.

Khi một liên kết không hoàn chỉnh, tức là khi kết nối bị đóng vì một liên kết TCP, công cụ giao thức phải không thực hiện được bất kỳ giao dịch nào phụ thuộc vào liên kết đó, bao gồm cả việc gọi trình xử lý trạng thái. Ngoài ra, chỉ báo không đầy đủ được chuyển tới bất kỳ đối tượng lớp cấp cao nào triển khai hình thức thay thế của phương thức này mà lấy mã ứng dụng ngang hàng.

Thông tin chi tiết
Tham số
[in] aBinding
Con trỏ đến liên kết không thành công.
[in] aReport
Thông tin tham chiếu đến đối tượng StatusReport nêu chi tiết lý do không thành công.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Khởi động một đối tượng DMPublisher.

Phương pháp này có tác dụng phụ là cài đặt một trình nghe trong trình quản lý Exchange cho toàn bộ các yêu cầu của khách hàng, có thể bao gồm cả những yêu cầu cho gói thuê bao.

Thông tin chi tiết
Tham số
[in] aExchangeMgr
Con trỏ trỏ đến đối tượng WeaveExchangeManager để sử dụng cho tất cả các sàn giao dịch mà nhà xuất bản muốn tham gia.
[in] aResponseTimeout
Thời gian chờ phản hồi tính bằng mili giây, tức là thời gian tối đa để chờ phản hồi.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR để phản ánh lỗi không thiết lập được nhà xuất bản đúng cách.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Trả lời yêu cầu cập nhật.

Gửi phản hồi đến một yêu cầu cập nhật sau khi xử lý xong, sử dụng ngữ cảnh trao đổi được cung cấp trong chỉ báo.

Thông tin chi tiết
Tham số
[in] aResponseCtx
Con trỏ trỏ đến ngữ cảnh trao đổi, trong đó yêu cầu được nhận.
[in] aStatus
Tham chiếu đến đối tượng StatusReport chứa thông tin về trạng thái của yêu cầu.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về lỗi WEAVE_ERROR cho biết lỗi không gửi được thông báo phản hồi.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

Phản hồi yêu cầu xem.

Gửi phản hồi đến một yêu cầu xem sau khi xử lý xong, sử dụng ngữ cảnh trao đổi đã được cung cấp trong chỉ báo.

Thông tin chi tiết
Tham số
[in] aResponseCtx
Con trỏ trỏ đến ngữ cảnh trao đổi, trong đó yêu cầu được nhận.
[in] aStatus
Tham chiếu đến đối tượng StatusReport chứa thông tin về trạng thái của yêu cầu. Trong trường hợp yêu cầu này thành công, người yêu cầu sẽ mong đợi danh sách dữ liệu có chứa dữ liệu quan tâm.
[in] aDataList
Con trỏ trỏ đến một đối tượng ReferencedTLVData không bắt buộc chứa danh sách dữ liệu được mã hoá theo TLV có chứa dữ liệu quan tâm và các đường dẫn cho biết cách sắp xếp dữ liệu đó. Lưu ý rằng tham số này sẽ là NULL trong trường hợp trạng thái đã cho trong tham số trước đó không thành công.
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công. Nếu không, hãy trả về lỗi WEAVE_ERROR cho biết lỗi không gửi được tin nhắn phản hồi.
WEAVE_ERROR_INVALID_ARGUMENT
Nếu các thông số đã cho không nhất quán
WEAVE_ERROR_NO_MEMORY
Nếu không thể phân bổ vùng đệm Inet.

~DMPublisher

virtual  ~DMPublisher(
  void
)

Hàm huỷ cho đối tượng DMPublisher.

Xoá tất cả trạng thái nội bộ và xoá trình nghe khỏi trình quản lý sàn giao dịch nếu đã áp dụng trình nghe.