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

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

Class dasar abstrak untuk penayang WDM khusus aplikasi.

Ringkasan

DMPublisher adalah class basis penayang WDM standar. Class ini merupakan gabungan dari class ProtocolEngine DM, yang menangani crank-turning komunikasi, dan class PublisherDataManager yang sepenuhnya abstrak. Dukungan untuk langganan dan notifikasi bersifat opsional dan dapat ditekan hanya dengan mengonfigurasi tabel langganan tanpa entri.

Inheritance

Mewarisi dari:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Konstruktor dan Destruktor

DMPublisher(void)
Konstruktor default untuk objek DMPublisher.
~DMPublisher(void)
Destruktor untuk objek DMPublisher.

Fungsi publik

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Hapus status internal objek DMPublisher.
Finalize(void)
virtual void
Matikan DMPublisher yang sedang beroperasi.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Menangani indikasi bahwa binding gagal.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Lakukan inisialisasi objek DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Tanggapi permintaan pembaruan.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Tanggapi permintaan tampilan.

Fungsi publik

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Hapus

virtual void Clear(
  void
)

Hapus status internal objek DMPublisher.

Menghapus kumpulan transaksi notifikasi dan tabel langganan.

DMPublisher

 DMPublisher(
  void
)

Konstruktor default untuk objek DMPublisher.

Menghapus semua status internal.

Finalisasi

virtual void Finalize(
  void
)

Matikan DMPublisher yang sedang beroperasi.

Mengosongkan semua status operasi dan mematikan pemroses jika ada yang sedang berjalan.

IncompleteIndication

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

Menangani indikasi bahwa binding gagal.

Jika binding menjadi tidak lengkap, yaitu saat koneksi ditutup untuk binding TCP, mesin protokol harus menggagalkan transaksi apa pun yang bergantung pada binding tersebut, termasuk memanggil pengendali status mereka. Selain itu, indikasi yang tidak lengkap diteruskan ke objek superclass apa pun yang menerapkan bentuk alternatif dari metode ini yang mengambil ID peer.

Detail
Parameter
[in] aBinding
Pointer ke binding yang gagal.
[in] aReport
Referensi ke objek StatusReport yang menjelaskan alasan kegagalan.

Inisiasi

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Lakukan inisialisasi objek DMPublisher.

Metode ini memiliki efek samping menginstal pemroses di pengelola bursa untuk berbagai permintaan klien yang mungkin termasuk permintaan langganan.

Detail
Parameter
[in] aExchangeMgr
Pointer ke objek WeaveExchangeManager yang akan digunakan untuk semua bursa tempat penayang ingin berpartisipasi.
[in] aResponseTimeout
Waktu tunggu respons dalam milidetik, yaitu waktu maksimum untuk menunggu respons.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan dalam menyiapkan penayang dengan benar.

Inisiasi

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
)

Tanggapi permintaan pembaruan.

Kirim respons ke permintaan update setelah diproses, menggunakan konteks pertukaran yang diberikan dalam indikasi.

Detail
Parameter
[in] aResponseCtx
Pointer ke konteks pertukaran tempat permintaan diterima.
[in] aStatus
Referensi ke objek StatusReport yang berisi informasi tentang status permintaan.
Hasil
WEAVE_NO_ERROR Saat berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan mengirim pesan respons.

ViewResponse

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

Tanggapi permintaan tampilan.

Kirim respons ke permintaan tampilan setelah diproses, menggunakan konteks pertukaran yang diberikan dalam indikasi.

Detail
Parameter
[in] aResponseCtx
Pointer ke konteks pertukaran tempat permintaan diterima.
[in] aStatus
Referensi ke objek StatusReport yang berisi informasi tentang status permintaan. Jika ini berhasil, pemohon akan mengharapkan daftar data yang berisi data yang diinginkan.
[in] aDataList
Pointer ke objek ReferencedTLVData opsional yang berisi daftar data yang dienkode TLV yang berisi data minat dan jalur yang menunjukkan disposisi data tersebut. Perhatikan, parameter ini harus NULL jika status yang diberikan dalam parameter sebelumnya tidak berhasil.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan mengirim pesan respons.
WEAVE_ERROR_INVALID_ARGUMENT
Jika parameter yang diberikan tidak konsisten
WEAVE_ERROR_NO_MEMORY
Jika buffer Inet tidak dapat dialokasikan.

~DMPublisher

virtual  ~DMPublisher(
  void
)

Destruktor untuk objek DMPublisher.

Menghapus semua status internal dan menghapus pemroses dari pengelola bursa jika ada.