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ở của nhà xuất bản WDM chuẩn. Đây là sự kết hợp giữa lớp DM ProtocolEngine xử lý việc chuyển đổi giao tiếp và lớp PublisherDataManager hoàn toàn trừu tượng. Việc 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 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à hàm phá

DMPublisher(void)
Hàm khởi tạo mặc định cho đối tượng DMPublisher.
~DMPublisher(void)
Hàm khởi tạo 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 liên kết không thành công.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Khởi động đố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)
Phản hồ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
)

Xoá

virtual void Clear(
  void
)

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

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

DMPublisher

 DMPublisher(
  void
)

Hàm khởi tạo mặc định cho đố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 trình nghe đang chạy.

IncompleteIndication

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

Xử lý chỉ báo cho biết liên kết không thành công.

Khi liên kết trở thành chưa hoàn chỉnh, tức là khi kết nối bị đóng đối với liên kết TCP, công cụ giao thức phải thực hiện không thành công 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 đủ sẽ được truyền đến mọi đối tượng lớp cao cấp triển khai dạng thay thế của phương thức này mà nhận mã nhận dạng ngang hàng.

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

Bắt đầu

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

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

Phương thức này có tác dụng phụ là cài đặt trình nghe trong trình quản lý giao dịch cho toàn bộ yêu cầu từ khách hàng, có thể bao gồm cả các yêu cầu đăng ký.

Thông tin chi tiết
Thông số
[in] aExchangeMgr
Con trỏ đến đối tượng WeaveExchangeManager để sử dụng cho tất 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 cho biết lỗi thiết lập nhà xuất bản không đúng.

Bắt đầu

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
)

Phản hồi yêu cầu cập nhật.

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

Thông tin chi tiết
Thông số
[in] aResponseCtx
Con trỏ tới ngữ cảnh trao đổi mà theo đó yêu cầu đã được nhận.
[in] aStatus
Tham chiếu đến đối tượng StatusReport (Báo cáo trạng thái) có 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ề WEAVE_ERROR cho biết không gửi được tin nhắn 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 tới một yêu cầu xem sau khi xử lý, sử dụng ngữ cảnh trao đổi đã được cung cấp trong chỉ báo.

Thông tin chi tiết
Thông số
[in] aResponseCtx
Con trỏ tới ngữ cảnh trao đổi mà theo đó yêu cầu đã được nhận.
[in] aStatus
Tham chiếu đến đối tượng StatusReport (Báo cáo trạng thái) có chứa thông tin về trạng thái của yêu cầu. Trong trường hợp thành công, người yêu cầu sẽ cần có một danh sách dữ liệu chứa dữ liệu mà họ quan tâm.
[in] aDataList
Con 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á TLV chứa dữ liệu quan tâm và các đường dẫn cho biết việc sắp xếp dữ liệu đó. Lưu ý rằng thông số này sẽ là NULL trong trường hợp trạng thái được cung cấp trong thông 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ề WEAVE_ERROR cho biết 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
Trường hợp không thể phân bổ vùng đệm Inet.

~DMPublisher (Nhà xuất bản)

virtual  ~DMPublisher(
  void
)

Hàm khởi tạo 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ý trao đổi nếu đã có sẵn trạng thái.