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 kelas dasar penayang WDM standar. Class ini adalah campuran dari class ProtocolEngine DM, yang menangani crank-turning komunikasi, dan class PublisherDataManager yang sepenuhnya abstrak. Dukungan untuk langganan dan notifikasi bersifat opsional dan dapat dihentikan 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
Menonaktifkan DMPublisher yang 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)
Merespons permintaan update.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Merespons 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
)

Menonaktifkan DMPublisher yang beroperasi.

Menghapus semua status operasi dan mematikan pemroses jika ada yang berjalan.

IncompleteIndication

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

Menangani indikasi bahwa binding gagal.

Ketika binding menjadi tidak lengkap, yaitu ketika koneksi ditutup untuk binding TCP, mesin protokol harus menggagalkan transaksi apa pun yang bergantung padanya, termasuk memanggil pengendali statusnya. Selain itu, indikasi yang tidak lengkap akan diteruskan ke objek superclass mana pun yang menerapkan bentuk alternatif metode ini yang menggunakan ID pembanding.

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

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Lakukan inisialisasi objek DMPublisher.

Metode ini memiliki efek samping dari penginstalan pemroses di pengelola bursa untuk berbagai macam permintaan klien, mungkin termasuk permintaan untuk 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 Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan dalam menyiapkan penayang dengan benar.

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
)

Merespons permintaan update.

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 Jika berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan dalam mengirim pesan respons.

ViewResponse

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

Merespons 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 upaya ini berhasil, pemohon akan mengharapkan daftar data yang berisi data yang diinginkan.
[in] aDataList
Pointer ke objek ReferencedTLVData opsional yang berisi daftar data berenkode TLV yang berisi data yang diminati dan jalur yang menunjukkan disposisi data tersebut. Perhatikan bahwa parameter ini harus NULL jika status yang diberikan pada parameter sebelumnya tidak berhasil.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan dalam 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.

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