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 |
|
||||||||
Nilai yang Ditampilkan |
|
||||||||
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 |
|
||||||
Nilai yang Ditampilkan |
|
||||||
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 |
|
||||||||
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 |
|
||||||
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 |
|
||||
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 )
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 |
|
~DMClient
virtual ~DMClient( void )
Destruktor untuk objek DMClient.
Menghapus semua status internal dan, jika perlu, membatalkan langganan yang tertunda.