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
[in] aDestinationId
Uzak yayıncının 64 bit düğüm kimliğine referans.
[in] aPathList
İstenen verileri gösteren TLV kodlamalı yol listesi içeren bir ReferencedTLVData nesnesine referans.
[in] aTxnId
Bu görüntüleme işlemini yönetmek için ayarlanan WDM işleminin tanımlayıcısı.
[in] aTimeout
Görüntüleme yanıtının bekleneceği maksimum süre (milisaniye cinsinden).
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
WEAVE_ERROR_NO_MEMORY
İşlem ayrılamadı.
İ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
[in] aPathList
İstenen verileri gösteren TLV kodlamalı yol listesi içeren bir ReferencedTLVData nesnesine referans.
[in] aTxnId
Bu görüntüleme işlemini yönetmek için ayarlanan WDM işleminin tanımlayıcısı.
[in] aTimeout
Görüntüleme yanıtının bekleneceği maksimum süre (milisaniye cinsinden).
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
WEAVE_ERROR_NO_MEMORY
İşlem ayrılamadı.
İ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
[in] aDestinationId
İsteğin gönderildiği uzak yayıncının 64 bit düğüm kimliğine referans.
[in] aDataList
Güncellemenin uygulanacağı yolları da içeren bir güncellemenin temsilini içeren TLV kodlamalı veri listesini içeren ReferencedTLVData nesnesine referans.
[in] aTxnId
Güncelleme isteğini yönetmek için ayarlanan işlemin tanımlayıcısı.
[in] aTimeout
İlgili durum raporunun bekleneceği maksimum süre (milisaniye cinsinden).
İ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
[in] aDataList
Güncellemenin uygulanacağı yolları da içeren bir güncellemenin temsilini içeren TLV kodlamalı veri listesini içeren ReferencedTLVData nesnesine referans.
[in] aTxnId
Güncelleme isteğini yönetmek için ayarlanan işlemin tanımlayıcısı.
[in] aTimeout
İlgili durum raporunun bekleneceği maksimum süre (milisaniye cinsinden).
İ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
[in] aTxnId
İptal edilecek işlemin numarası. kTransactionIdNotSpecified sağlanırsa tüm işlemler iptal edilir.
[in] aError
İşlemi iptal ederken bildirilecek WEAVE_ERROR.
İ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
)

DMClient nesnelerinin varsayılan oluşturucusu.

Tüm dahili durumu temizler. DMClient, kullanılmadan önce Init() ile daha fazla başlatma gerektirir.

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
[in] aBinding
Tamamlanmamış Bağlama işaretçisi.
[in] aReport
Hatanın nedenini belirten bir durum raporuna referans.

~DMClient

virtual  ~DMClient(
  void
)

DMClient nesnelerinin yıkıcısı.

Tüm dahili durumu temizler ve gerekirse beklemedeki abonelikleri iptal eder.

Korunan işlevler

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)