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::Weave::Hồ sơ::DataManagement_Cũ::Nhà xuất bản tin nhắn trực tiếp

#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ở tiêu chuẩn của nhà xuất bản WDM. Lớp này kết hợp lớp DMengine của DM, dùng để xử lý lượt quay tay và lớp PublisherDataManager hoàn toàn trừu tượng. Tính năng hỗ trợ đăng ký 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 đăng ký không có mục nhập nào.

Tính kế thừa

Kế thừa từ:
nl::Weave::Profiles::DataManagement_Cũ::Measurementengine
nl::Weave::Profiles::DataManagement_Cũ::PublisherDataManager

Hàm dựng và hàm phá hủy

DMPublisher(void)
Hàm dựng mặc định cho các đối tượng DMPublisher.
~DMPublisher(void)
Trình hủy bỏ cho các đối tượng DMPublisher.

Hàm công khai

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Xóa trạng thái nội bộ của đối tượng DMPublisher.
Finalize(void)
virtual void
Chấm dứt hoạt động của một DMPublisher đang hoạt động.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Xử lý một dấu hiệu cho thấy một liên kết đã bị lỗi.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Khởi tạo đố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

HủyGiao dịch yêu cầu

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Quang đãng

virtual void Clear(
  void
)

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

Xoá nhóm thông báo và bảng đăng ký.

DMNhà xuất bản

 DMPublisher(
  void
)

Hàm dựng mặc định cho các đối tượng DMPublisher.

Xóa tất cả trạng thái nội bộ.

Hoàn tất

virtual void Finalize(
  void
)

Chấm dứt hoạt động của một DMPublisher đang hoạt động.

Xóa tất cả trạng thái hoạt động và tắt trình nghe nếu có.

Chưa hoàn tất

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

Xử lý một dấu hiệu cho thấy một liên kết đã bị lỗi.

Khi một liên kết trở nên không hoàn tất, 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 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 chưa hoàn chỉnh được chuyển tới bất kỳ đối tượng lớp cao cấp nào triển khai biểu mẫu thay thế của phương thức này sẽ nhận mã nhận dạng ngang hàng.

Thông tin chi tiết
Các thông số
[in] aBinding
Một con trỏ đến liên kết không thành công.
[in] aReport
Tham chiếu đến đối tượng Trạng thái báo cáo, trong đó nêu chi tiết lý do thất bại.

Số nguyên

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Khởi tạo đối tượng DMPublisher.

Phương pháp này có tác dụng phụ của việc cài đặt trình xử lý trong trình quản lý trao đổi đối với toàn bộ các yêu cầu máy khách có thể có, bao gồm cả các yêu cầu cho đăng ký.

Thông tin chi tiết
Các thông số
[in] aExchangeMgr
Con trỏ đến đối tượng WeaveExchangeManager để sử dụng cho mọi đối tác trao đổi 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 Thành công. Nếu không, hãy trả về WEAVE_ERROR phản ánh lỗi không thể thiết lập nhà xuất bản đúng cách.

Số nguyên

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

Đã nhận được tin nhắn

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

Phản hồi cập nhật

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

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

Gửi phản hồi cho yêu cầu cập nhật 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
Các thông số
[in] aResponseCtx
Con trỏ đến ngữ cảnh trao đổi nơi nhận được yêu cầu.
[in] aStatus
Tham chiếu đến đối tượng Trạng thái 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 Thành công. Nếu không, hãy trả về WEAVE_ERROR phản ánh lỗi không thể gửi thông báo phản hồi.

Xem phản hồi

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

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

Gửi phản hồi cho 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
Các thông số
[in] aResponseCtx
Con trỏ đến ngữ cảnh trao đổi nơi nhận được yêu cầu.
[in] aStatus
Tham chiếu đến đối tượng Trạng thái 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ẽ kỳ vọng một danh sách dữ liệu chứa dữ liệu của mối quan tâm.
[in] aDataList
Con trỏ đến đối tượng referencedTLVData tùy chọn chứa danh sách dữ liệu được mã hóa TLV chứa dữ liệu về mối 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 thông số này sẽ là NULL trong trường hợp trạng thái đã cung cấp trong thông số trước không thành công.
Giá trị trả về
WEAVE_NO_ERROR
Thành công! Nếu không, hãy trả về WEAVE_ERROR phản ánh lỗi không thể gửi 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ổ bộ đệm Inet.

~DMPublisher

virtual  ~DMPublisher(
  void
)

Trình hủy bỏ cho các đối tượng DMPublisher.

Xóa mọi trạng thái nội bộ và xóa trình nghe khỏi trình quản lý trao đổi nếu có.