nl::Weave::Profiles::DataManagement_Legacy::DMClient

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

Class dasar abstrak untuk klien WDM khusus aplikasi.

Ringkasan

DMClient adalah klien WDM standar. Implementasi secara opsional menyertakan langganan/notifikasi. Ini adalah campuran dari class ProtocolEngine DM yang menangani komunikasi dan class ClientDataManager yang sepenuhnya abstrak, dengan beberapa metode terkait langganan yang diimplementasikan sehingga lapisan yang lebih tinggi tidak perlu mengkhawatirkannya.

Pengendali untuk tugas terkait langganan terutama bertindak sebagai adaptor tipis di atas objek ClientNotifier. Pelaksana subclass harus berhati-hati dalam memanggil metode super-class yang relevan untuk menjalankan fungsi pengelola langganan.

Metode permintaan DMClient umumnya memiliki 2 tanda tangan, satu dengan ID node tujuan eksplisit dan yang lainnya dengan tujuan yang ditentukan. Dalam kedua kasus tersebut, kemampuan untuk mengirim pesan ke penayang bergantung pada binding yang sudah ada sebelumnya di klien, tetapi dalam kasus pertama, ID tujuan ditujukan untuk memilih di antara beberapa tujuan yang terikat dan, dalam kasus kedua, item pertama dalam tabel binding dipilih sebagai default. Hal ini berguna, misalnya, jika klien hanya akan terikat dengan satu penayang.

Inheritance

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

Konstruktor dan Destruktor

DMClient(void)
Konstruktor default untuk objek DMClient.
~DMClient(void)
Destruktor untuk objek DMClient.
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Minta tampilan data yang dipublikasikan.
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Minta tampilan data di penayang default.
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Meminta pembaruan data yang dipublikasikan.
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Minta pembaruan data di penayang default.

Atribut yang dilindungi

mUpdatePool[kUpdatePoolSize]
mViewPool[kViewPoolSize]

Fungsi publik

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Meminta agar transaksi yang dieksekusi dibatalkan.
Clear(void)
virtual void
Menghapus status internal yang terkait dengan objek DMClient.
Finalize(void)
virtual void
Mematikan DMClient yang sedang beroperasi.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Menangani "ketidaklengkapan" binding yang digunakan oleh klien.

Fungsi yang dilindungi

NewUpdate(void)
Update *
NewView(void)
View *

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Minta tampilan data yang dipublikasikan.

Meminta tampilan data yang berada di dan dikelola oleh penayang jarak jauh yang ditentukan.

Detail
Parameter
[in] aDestinationId
Referensi ke ID node 64-bit dari penayang jarak jauh.
[in] aPathList
Referensi ke objek ReferencedTLVData yang berisi daftar jalur yang dienkode TLV yang menunjukkan data yang diminta.
[in] aTxnId
ID untuk transaksi WDM yang disiapkan untuk mengelola operasi tampilan ini.
[in] aTimeout
Waktu maksimum dalam milidetik untuk menunggu respons tampilan.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_NO_MEMORY
Jika transaksi tidak dapat dialokasikan.
Hasil
Jika tidak, WEAVE_ERROR yang mencerminkan kegagalan untuk melakukan inisialisasi atau memulai transaksi.

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Minta tampilan data di penayang default.

Minta tampilan data yang ada di dan dikelola oleh penayang "default", yaitu penayang pertama (atau satu-satunya) di tabel binding klien.

Detail
Parameter
[in] aPathList
Referensi ke objek ReferencedTLVData yang berisi daftar jalur yang dienkode TLV yang menunjukkan data yang diminta.
[in] aTxnId
ID untuk transaksi WDM yang disiapkan untuk mengelola operasi tampilan ini.
[in] aTimeout
Waktu maksimum dalam milidetik untuk menunggu respons tampilan.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_NO_MEMORY
Jika transaksi tidak dapat dialokasikan.
Hasil
Jika tidak, WEAVE_ERROR yang mencerminkan kegagalan untuk melakukan inisialisasi atau memulai transaksi.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Meminta pembaruan data yang dipublikasikan.

Meminta penayang jarak jauh memperbarui data yang dikelola.

Detail
Parameter
[in] aDestinationId
Referensi ke ID node 64-bit dari penayang jarak jauh yang dikirimi permintaan.
[in] aDataList
Referensi ke objek ReferencedTLVData yang berisi daftar data yang dienkode TLV yang berisi representasi update termasuk jalur tempat update akan diterapkan.
[in] aTxnId
ID untuk transaksi yang disiapkan guna mengelola permintaan pembaruan.
[in] aTimeout
Waktu maksimum dalam milidetik untuk menunggu laporan status yang sesuai.
Hasil
WEAVE_NO_ERROR jika berhasil atau WEAVE_ERROR_NO_MEMORY jika transaksi update tidak dapat dialokasikan. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan update.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Minta pembaruan data di penayang default.

Meminta penayang jarak jauh memperbarui data yang dikelola. Versi ini mengarahkan permintaan ke penayang yang merupakan target binding default klien.

Detail
Parameter
[in] aDataList
Referensi ke objek ReferencedTLVData yang berisi daftar data yang dienkode TLV yang berisi representasi update termasuk jalur tempat update akan diterapkan.
[in] aTxnId
ID untuk transaksi yang disiapkan guna mengelola permintaan pembaruan.
[in] aTimeout
Waktu maksimum dalam milidetik untuk menunggu laporan status yang sesuai.
Hasil
WEAVE_NO_ERROR jika berhasil atau WEAVE_ERROR_NO_MEMORY jika transaksi update tidak dapat dialokasikan. Jika tidak, tampilkan WEAVE_ERROR yang menunjukkan kegagalan update.

Atribut yang dilindungi

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

Fungsi publik

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Meminta agar transaksi yang dieksekusi dibatalkan.

Metode ini tidak menghasilkan traffic jaringan, tetapi hanya melepaskan resource yang dialokasikan untuk transaksi yang ditentukan

Detail
Parameter
[in] aTxnId
Jumlah transaksi yang akan dibatalkan. Jika kTransactionIdNotSpecified diberikan, semua transaksi akan dibatalkan.
[in] aError
WEAVE_ERROR yang akan dilaporkan saat membatalkan transaksi.
Hasil
WEAVE_NO_ERROR saat berhasil atau WEAVE_ERROR yang menunjukkan kegagalan pembatalan transaksi.

Hapus

virtual void Clear(
  void
)

Menghapus status internal yang terkait dengan objek DMClient.

Secara khusus, metode ini menghapus semua kumpulan transaksi klien. Untuk klien yang telah menggunakan metode Finalize() lebih disukai karena metode ini juga membatalkan langganan serta membersihkan tabel transaksi dan binding.

Lihat juga:
Finalize()

DMClient

 DMClient(
  void
)

Konstruktor default untuk objek DMClient.

Menghapus semua status internal. DMClient memerlukan inisialisasi lebih lanjut dengan Init() sebelum digunakan.

Finalisasi

virtual void Finalize(
  void
)

Mematikan DMClient yang sedang beroperasi.

Menghapus semua status pengoperasian yang terkait dengan klien dan menghapus semua langganan terkait dari pemberi notifikasi. Setelah panggilan ke Finalize(), DMClient dapat diinisialisasi ulang hanya dengan memanggil Init(). Finalize() dipanggil oleh destruktor DMClient, tetapi dapat dipanggil jika DMClient memerlukan pembersihan, misalnya jika terjadi kegagalan atau penonaktifan sementara, tetapi mungkin perlu dibuat ulang di lain waktu.

IncompleteIndication

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

Menangani "ketidaklengkapan" binding yang digunakan oleh klien.

Jika binding gagal secara tidak terduga, misalnya jika koneksi yang terlibat dalam binding ditutup, metode ini akan dipanggil.

Detail
Parameter
[in] aBinding
Pointer ke Binding yang telah menjadi tidak lengkap.
[in] aReport
Referensi ke laporan status yang memberikan alasan kegagalan.

~DMClient

virtual  ~DMClient(
  void
)

Destruktor untuk objek DMClient.

Menghapus semua status internal dan, jika perlu, membatalkan langganan yang tertunda.

Fungsi yang dilindungi

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)