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 ini secara opsional mencakup langganan/notifikasi. Class ini adalah campuran dari class ProtocolEngine DM, yang menangani pengalihan komunikasi, dan class ClientDataManager yang sepenuhnya abstrak, dengan beberapa metode terkait langganan yang diterapkan sehingga lapisan yang lebih tinggi tidak perlu mengkhawatirkannya.

Pengendali untuk tugas terkait langganan terutama bertindak sebagai adaptor tipis atas objek ClientNotifier. Pengimplementasi subclass harus berhati-hati saat memanggil metode superclass yang relevan untuk mengaktifkan proses 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 di klien tetapi, dalam kasus pertama, ID tujuan dimaksudkan untuk memilih di antara beberapa tujuan 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
Meminta tampilan data yang dipublikasikan.
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Meminta tampilan data pada penayang default.
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Minta pembaruan untuk 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 pembatalan transaksi yang sedang berjalan.
Clear(void)
virtual void
Hapus status internal yang terkait dengan objek DMClient.
Finalize(void)
virtual void
Menonaktifkan DMClient yang beroperasi.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Menangani "tidak selesai" dari pengikatan 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
)

Meminta tampilan data yang dipublikasikan.

Minta tampilan data yang ada dan dikelola oleh penayang jarak jauh tertentu.

Detail
Parameter
[in] aDestinationId
Referensi ke ID node 64-bit dari penayang jarak jauh.
[in] aPathList
Referensi ke objek ReferencedTLVData yang berisi daftar jalur berenkode 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 yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_NO_MEMORY
Jika transaksi tidak dapat dialokasikan.
Hasil
Jika tidak, WEAVE_ERROR yang mencerminkan kegagalan untuk menginisialisasi atau memulai transaksi.

ViewRequest

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

Meminta tampilan data pada penayang default.

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

Detail
Parameter
[in] aPathList
Referensi ke objek ReferencedTLVData yang berisi daftar jalur berenkode 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 yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_NO_MEMORY
Jika transaksi tidak dapat dialokasikan.
Hasil
Jika tidak, WEAVE_ERROR yang mencerminkan kegagalan untuk menginisialisasi atau memulai transaksi.

UpdateRequest

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

Minta pembaruan untuk 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 menjadi tujuan pengiriman permintaan.
[in] aDataList
Referensi ke objek ReferencedTLVData yang berisi daftar data berenkode TLV yang berisi representasi update, termasuk jalur tempat update akan diterapkan.
[in] aTxnId
ID untuk transaksi yang disiapkan untuk 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 dari binding default klien.

Detail
Parameter
[in] aDataList
Referensi ke objek ReferencedTLVData yang berisi daftar data berenkode TLV yang berisi representasi update, termasuk jalur tempat update akan diterapkan.
[in] aTxnId
ID untuk transaksi yang disiapkan untuk 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 pembatalan transaksi yang sedang berjalan.

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

Detail
Parameter
[in] aTxnId
Nomor 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 jika berhasil atau WEAVE_ERROR yang mencerminkan kegagalan dalam membatalkan transaksi.

Hapus

virtual void Clear(
  void
)

Hapus status internal yang terkait dengan objek DMClient.

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

Lihat juga:
Menyelesaikan()

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
)

Menonaktifkan DMClient yang beroperasi.

Menghapus semua status operasi yang terkait dengan klien dan menghapus semua langganan terkait dari pengirim. 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 disusun ulang di lain waktu.

IncompleteIndication

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

Menangani "tidak selesai" dari pengikatan yang digunakan oleh klien.

Saat binding gagal secara tidak terduga, misalnya jika koneksi yang terlibat dalam pengikatan ditutup, maka metode ini 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
)