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. Bu, iletişimin toparlanmasını sağlayan DM ProtocolEngine sınıfının ve tamamen soyut ClientDataManager sınıfının bir karışımıdır. Abonelikle ilgili bazı yöntemler, üst katmanların endişelenmesine gerek kalmaması için uygulanır.
Abonelikle ilgili görevlerin işleyicileri, temel olarak 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 şakası yapmak için ilgili üst sınıf yöntemleri çağırmaya özen göstermelidir.
DMClient istek yöntemleri genellikle birinin açık bir hedef düğüm kimliğine ve diğerinin belirli bir hedefe sahip 2 imzası vardır. Her iki durumda da yayıncıya ileti gönderebilme özelliği, 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. İkinci durumda ise bağlama tablosundaki ilk öğe varsayılan olarak seçilir. Bu, örneğin müşteri 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 nesneleri için varsayılan oluşturucu.
|
|
~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ıyla ilgili verilerin görüntülenmesini isteyin.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Yayınlanan veriler için güncelleme isteğinde 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]
|
Kamu işlevleri |
|
---|---|
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şkilendirilen dahili durumu temizleyin.
|
Finalize(void)
|
virtual void
Çalıştırılan bir DMClient'i kapatın.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
İstemci tarafından kullanılan bir bağlamanın "tamamlanmama" durumunu işleme.
|
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.
Belirtilen uzak yayıncıda bulunan ve bu yayıncı tarafından yönetilen verilerin görüntülenmesini isteyin.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
||||||||
İadeler |
Aksi takdirde, işlemin başlatılamamasını veya başlatamamasını gösteren bir WEAVE_ERROR.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Varsayılan yayıncıyla ilgili verilerin görüntülenmesini isteyin.
"Varsayılan" yayıncıda (müşterinin bağlama tablosundaki ilk (veya tek) yayıncı) bulunan ve bu yayıncı tarafından yönetilen verilerin görüntülenmesini isteyin.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
||||||
İadeler |
Aksi takdirde, işlemin başlatılamamasını veya başlatamamasını gösteren bir WEAVE_ERROR.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Yayınlanan veriler için güncelleme isteğinde bulunun.
Uzak bir yayıncının yönetim altındaki verileri güncellemesini isteyin.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
İadeler |
Başarılı olduğunda WEAVE_NO_ERROR veya bir güncelleme işlemi atanamadıysa 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 bir yayıncının 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ılı olduğunda WEAVE_NO_ERROR veya bir güncelleme işlemi atanamadıysa 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]
Kamu işlevleri
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, yalnızca belirtilen işlemler için ayrılan kaynakları serbest bırakır
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Başarılı olduğunda WEAVE_NO_ERROR veya işlemin iptal edilemediğini gösteren WEAVE_ERROR.
|
Temizle
virtual void Clear( void )
Bir DMClient nesnesiyle ilişkilendirilen dahili durumu temizleyin.
Bu yöntem özellikle tüm istemci işlem havuzlarını temizler. Daha önce kullanmakta olan müşteriler için Finalize() yöntemi tercih edilir. Bunun nedeni, aynı zamanda aboneliklerin iptal edilmesi ve işlem ile bağlama tablolarının temizlenmesidir.
Şu makaleyi de inceleyebilirsiniz:Finalize()
DMClient
DMClient( void )
Sonlandır
virtual void Finalize( void )
Çalıştırılan bir DMClient'i kapatın.
İstemciyle ilişkilendirilmiş tüm çalışma durumunu temizler ve tüm ilgili abonelikleri bildirimciden kaldırır. Finalize() çağrısından sonra DMClient işlevi sadece Init() çağrısıyla yeniden başlatılabilir. Finalize(), DMClient yıkıcısı tarafından çağrılabilir ancak DMClient temizlik yapılması gerektiğinde (ör. hata veya geçici olarak kapatma durumunda) çağrılabilir ancak daha sonra yeniden düzenlenmesi gerekebilir.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
İstemci tarafından kullanılan bir bağlamanın "tamamlanmama" durumunu işleme.
Bir bağlama beklenmedik bir şekilde başarısız olduğunda (ör. bağlamadaki 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 durumları temizler ve gerekirse beklemedeki abonelikleri iptal eder.