nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
Uygulamaya özel WDM istemcileri için soyut temel sınıf.
Özet
DMClient, standart WDM istemcisidir. Uygulama, isteğe bağlı olarak abonelik/bildirim içerir. İletişim çevirmeyi ele alan DM ProtocolEngine sınıfı ve tamamen soyut ClientDataManager sınıfının bir karışımıdır. Üst katmanların bunlar konusunda endişelenmesine gerek olmaması için abonelikle ilgili bazı yöntemler uygulanır.
Abonelikle ilgili görevler için işleyiciler, temelde ClientNotifier nesnesi üzerinde ince bir bağdaştırıcı görevi görür. Alt sınıf uygulayıcıları, abonelik yöneticisi geçişini devreye sokmak için ilgili üst sınıf yöntemleri kullanmaya özen göstermelidir.
DMClient istek yöntemlerinde genellikle biri açık bir hedef düğüm kimliğine, diğeri de belirtilen hedefe sahip 2 imza bulunur. Her iki durumda da, bir yayıncıya ileti gönderilebilmesi istemcide önceden var olan bir bağlamaya bağlıdır. Ancak ilk durumda, hedef kimliği birden çok bağlı hedef arasından seçim yapmak üzere tasarlanmıştır ve ikinci durumda, bağlama tablosundaki ilk öğe varsayılan olarak seçilir. Bu, örneğin müşteri yalnızca tek bir yayıncıya bağlı olacaksa yararlıdır.
Devralma
Devralındığı kaynak:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
Oluşturucular ve Yıkıcılar |
|
---|---|
DMClient(void)
DMClient nesnelerinin varsayılan oluşturucusu.
|
|
~DMClient(void)
DMClient nesnelerinin yıkıcısı.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Yayınlanan verilerin görünümünü isteyin.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Varsayılan yayıncıdaki verilerin görüntülenmesi için istekte bulunun.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Yayınlanan verilerin güncellenmesi için istekte bulunun.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Varsayılan yayıncıdaki verilerin güncellenmesini isteyin.
|
Korunan özellikler |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Herkese açık işlevler |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Yürütülen bir işlemin iptal edilmesini isteyin.
|
Clear(void)
|
virtual void
Bir DMClient nesnesiyle ilişkili dahili durumu temizleyin.
|
Finalize(void)
|
virtual void
Çalışan bir DMClient'ı kapatın.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
"Tamamlanmama" sorununu ele alma bağlamanın bir örneğidir.
|
Korunan işlevler |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Yayınlanan verilerin görünümünü isteyin.
Belirli bir uzak yayıncıda bulunan ve bu yayıncı tarafından yönetilen verilerin görünümünü isteyin.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
||||||||
İadeler |
Aksi takdirde, işlemi başlatma veya başlatma sorununu yansıtan bir WEAVE_ERROR.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Varsayılan yayıncıdaki verilerin görüntülenmesi için istekte bulunun.
"Varsayılan" durumda bulunan ve bu tarafından yönetilen verilerin görünümünü iste yayıncı, yani müşterinin bağlama tablosundaki ilk (veya yalnızca) yayıncı.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
||||||
İadeler |
Aksi takdirde, işlemi başlatma veya başlatma sorununu yansıtan bir WEAVE_ERROR.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Yayınlanan verilerin güncellenmesi için istekte bulunun.
Uzak yayıncıdan yönetim altındaki verileri güncellemesini isteyin.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
İadeler |
Başarıyla ilişkili WEAVE_NO_ERROR veya bir güncelleme işlemi tahsis edilemediyse WEAVE_ERROR_NO_MEMORY. Aksi takdirde, güncelleme hatasını yansıtan bir WEAVE_ERROR döndürün.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Varsayılan yayıncıdaki verilerin güncellenmesini isteyin.
Uzak yayıncıdan yönetim altındaki verileri güncellemesini isteyin. Bu sürüm, isteği, istemcinin varsayılan bağlamasının hedefi olan yayıncıya yönlendirir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
İadeler |
Başarıyla ilişkili WEAVE_NO_ERROR veya bir güncelleme işlemi tahsis edilemediyse WEAVE_ERROR_NO_MEMORY. Aksi takdirde, güncelleme hatasını yansıtan bir WEAVE_ERROR döndürün.
|
Korunan özellikler
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
Herkese açık işlevler
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Yürütülen bir işlemin iptal edilmesini isteyin.
Bu yöntem ağ trafiği oluşturmaz ancak yalnızca belirtilen işlemler için ayrılmış kaynakları serbest bırakır
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Başarıyla sonuçlanan WEAVE_NO_ERROR veya işlemin iptal edilemediğini yansıtan WEAVE_ERROR.
|
Temizle
virtual void Clear( void )
Bir DMClient nesnesiyle ilişkili dahili durumu temizleyin.
Bu yöntem özellikle tüm istemci işlem havuzlarını temizler. Finalize() yöntemi, abonelikleri iptal edip işlem ve bağlama tablolarını da temizlediği için, kullanmakta olan müşteriler için tercih edilir.
Şu kaynakları da inceleyin:Finalize()
DMClient
DMClient( void )
Sonlandır
virtual void Finalize( void )
Çalışan bir DMClient'ı kapatın.
İstemciyle ilişkilendirilmiş tüm çalışma durumunu temizler ve bildirimdeki tüm ilgili abonelikleri kaldırır. Finalize() çağrısından sonra bir DMClient, yalnızca Init() çağrısı yapılarak yeniden başlatılabilir. Finalize(), DMClient yıkıcısı tarafından çağrılır ancak DMClient'in temizlemeyi gerekli kıldığı (ör. kullanılabilir ancak daha sonra değiştirilmesi gerekebilir.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
"Tamamlanmama" sorununu ele alma bağlamanın bir örneğidir.
Bağlama beklenmedik bir şekilde başarısız olduğunda, ör. bağlamada yer alan bağlantı kapalıysa bu yöntem çağrılır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
~DMClient
virtual ~DMClient( void )
DMClient nesnelerinin yıkıcısı.
Tüm dahili durumu temizler ve gerekirse beklemedeki abonelikleri iptal eder.