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
[in] aDestinationId
Uzak yayıncının 64 bit düğüm kimliğine referans.
[in] aPathList
İstenen verileri belirten, TLV kodlu bir yol listesi içeren ReferencedTLVData nesnesine başvuru.
[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).
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
WEAVE_ERROR_NO_MEMORY
İşlem ayrılamadığı.
İ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
[in] aPathList
İstenen verileri belirten, TLV kodlu bir yol listesi içeren ReferencedTLVData nesnesine başvuru.
[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).
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
WEAVE_ERROR_NO_MEMORY
İşlem ayrılamadığı.
İ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
[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 dahil olmak üzere, güncellemenin bir temsilini içeren TLV kodlamalı veri listesinin yer aldığı bir 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ı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
[in] aDataList
Güncellemenin uygulanacağı yollar da dahil olmak üzere, güncellemenin bir temsilini içeren TLV kodlamalı veri listesinin yer aldığı bir 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ı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
[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ı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
)

DMClient nesneleri için varsayılan oluşturucu.

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

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
[in] aBinding
Tamamlanmamış bağlama işaretçisi.
[in] aReport
Başarısızlığın nedenini açıklayan bir durum raporuna referans.

~DMClient

virtual  ~DMClient(
  void
)

DMClient nesnelerinin yıkıcısı.

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

Korunan işlevler

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)