nl:: örgü:: Profiller:: DataManagement_Legacy:: ProtokolMotoru
Bu soyut bir sınıftır.#include <src/lib/profiles/data-management/Legacy/ProtocolEngine.h>
WDM protokolü motor sınıfı.
Özet
Bir veri yönetimi varlığı, istemci veya yayıncı, bir protokol motoru bileşenine ve bir veri yöneticisi bileşenine sahiptir. Bu soyut sınıf, protokol motorunun ortak özelliklerini temsil eder.
miras
Doğrudan Bilinen Alt Sınıflar:nl::Weave::Profiles::DataManagement_Legacy::DMClient
nl::Weave::Profiles::DataManagement_Legacy::DMPublisher
Yapıcılar ve Yıkıcılar | |
---|---|
ProtocolEngine (void) | |
~ProtocolEngine (void) |
Korunan özellikler | |
---|---|
mBindingTable [kBindingTableSize] | ProtocolEngine motoru basitçe yayın bildirimleri almaya ötesinde bir şey için sorumlu olacak eğer muhtemelen en az bir girişi içermesini ihtiyacı bağlayıcı bir tablo vardır. |
mExchangeMgr | |
mResponseTimeout | uint32_t |
mTransactionTable [kTransactionTableSize] |
Kamu işlevleri | |
---|---|
BindConfirm ( Binding *aBinding) | virtual WEAVE_ERROR Bir bağlama isteğinin başarıyla tamamlandığının onayını işleyin. |
BindConfirm ( Binding *aBinding, StatusReport & aReport) | virtual WEAVE_ERROR Bir bağlama isteğinin başarısız olduğunu onaylayın. |
BindRequest (const uint64_t & aPeerNodeId, uint8_t aTransport) | Bilinen bir eş düğüm kimliği ve aktarım belirteci kullanarak bir bağlama isteyin. |
BindRequest (const uint64_t & aPeerNodeId) | Varsayılan aktarımı kullanarak bilinen bir eşe bağlanın. |
BindRequest ( nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode) | |
BindRequest ( WeaveConnection *aConnection) | Etkin bir Örgü bağlantısı kullanarak bağlama isteyin. |
IncompleteIndication ( Binding *aBinding, StatusReport & aReport) | virtual void Bir bağlamanın başarısız olduğuna dair bir gösterge işleyin. |
IncompleteIndication (const uint64_t & aPeerNodeId, StatusReport & aReport)=0 | virtual void Bir bağlamanın tamamlanmadığına dair bir gösterge işleyin. |
Init ( WeaveExchangeManager *aExchangeMgr) | virtual WEAVE_ERROR |
Init ( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout) | virtual WEAVE_ERROR |
UnbindRequest (const uint64_t & aPeerNodeId) | void Bir bağlamanın geri alınmasını ve bağlama tablosundan kaldırılmasını isteyin. |
UnbindRequest (const uint64_t & aPeerNodeId, WEAVE_ERROR aErr) | void Bir bağlamanın geri alınmasını ve bağlama tablosundan kaldırılmasını isteyin. |
Korumalı fonksiyonlar | |
---|---|
Clear (void) | void |
ClearBindingTable (void) | void |
ClearTransactionTable (void) | void |
DequeueTransaction ( DMTransaction *aTransaction) | void |
EnqueueTransaction ( DMTransaction *aTransaction, Binding *aBinding) | |
EnqueueTransaction ( DMTransaction *aTransaction) | |
FailTransactions ( Binding *aBinding, StatusReport & aReport) | bool |
Finalize (void) | virtual void |
FinalizeBindingTable (void) | void |
FinalizeTransactionTable (void) | void |
FinalizeTransactions ( Binding *aBinding) | void |
FromExchangeCtx ( ExchangeContext *aExchangeCtx) | Binding * |
GetBinding (const uint64_t & aPeerNodeId) | Binding * |
NewBinding (void) | Binding * |
StartTransaction ( DMTransaction *aTransaction, Binding *aBinding) | |
StartTransaction ( DMTransaction *aTransaction) | |
StatusResponse ( ExchangeContext *aExchangeCtx, StatusReport & aStatus) |
sınıflar | |
---|---|
nl :: Dokuma :: Profiller :: DataManagement_Legacy :: ProtocolEngine :: DMTransaction |
Korunan özellikler
mBindingTable
Binding mBindingTable[kBindingTableSize]
ProtocolEngine motoru basitçe yayın bildirimleri almaya ötesinde bir şey için sorumlu olacak eğer muhtemelen en az bir girişi içermesini ihtiyacı bağlayıcı bir tablo vardır.
Bağlamalar genellikle düğüm kimliğine göre indekslenir. Bunun anlamı, her motorun belirli bir hizmet uç noktasına yalnızca tek bir bağlamaya sahip olabileceğidir.
WDM belirtimi, açık bir hedef sağlanmadığında iletilerin gideceği yer olan bu "varsayılan bağlama" kavramına sahiptir. Bu çoğunlukla, tek bir bağlama veya az sayıda bağlamaya sahip çok basit cihazlarda kullanılacaktır ve diğer amaçlar için, yalnızca oluşturulan ilk bağlama olacaktır.
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mResponseZaman aşımı
uint32_t mResponseTimeout
mİşlem Tablosu
TransactionTableEntry mTransactionTable[kTransactionTableSize]
Kamu işlevleri
BindOnayla
virtual WEAVE_ERROR BindConfirm( Binding *aBinding )
Bir bağlama isteğinin başarıyla tamamlandığının onayını işleyin.
Bir bağlama tamamlandığında, protokol motoru işlem tablosundan geçer ve bu bağlamaya bağlı olan tüm işlemleri başlatır.
Ayrıntılar | |||
---|---|---|---|
parametreler |
| ||
İadeler | WEAVE_NO_ERROR Açık başarısı. Aksi takdirde iade WEAVE_ERROR bir hareketi başlatmak için bir yetersizlik yansıtan. |
BindOnayla
virtual WEAVE_ERROR BindConfirm( Binding *aBinding, StatusReport & aReport )
Bir bağlama isteğinin başarısız olduğunu onaylayın.
Bir bağlama isteği başarısız olduğunda, protokol motoru işlem tablosunu gözden geçirmeli ve bağlamaya bağlı olarak tüm işlemlerde başarısız olmalıdır.
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
| ||||
İadeler |
BindRequest
WEAVE_ERROR BindRequest( const uint64_t & aPeerNodeId, uint8_t aTransport )
Bilinen bir eş düğüm kimliği ve aktarım belirteci kullanarak bir bağlama isteyin.
Bir eş düğüm kimliği ve bir aktarım belirtimi verildiğinde bu istek, o eşe bir bağlama kurar. Teklif, SADECE aktarım TCP ise ek tamamlama gerektirecektir. Eş için bir bağlama zaten mevcutsa, yeniden kullanılır.
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
| ||||
İadeler | WEAVE_NO_ERROR başarı veya üzerinde WEAVE_ERROR_NO_MEMORY bağlama tablo doluysa. Aksi takdirde iade WEAVE_ERROR bağlayıcı başlatmak için bir başarısızlık yansıtmaktadır. |
ÖrgüTaşıma Seçeneği
BindRequest
WEAVE_ERROR BindRequest( const uint64_t & aPeerNodeId )
Varsayılan aktarımı kullanarak bilinen bir eşe bağlanın.
Ayrıntılar | |||
---|---|---|---|
parametreler |
| ||
İadeler | WEAVE_NO_ERROR Açık başarısı. Aksi takdirde iade WEAVE_ERROR bağlama işleminin başarısızlığını yansıtmaktadır. |
BindRequest
WEAVE_ERROR BindRequest( nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode )
BindRequest
WEAVE_ERROR BindRequest( WeaveConnection *aConnection )
Etkin bir Örgü bağlantısı kullanarak bağlama isteyin.
Mevcut ve açık bir bağlantı kullanılarak bir bağlama da kurulabilir. Bu şekilde oluşturulan bağlamaların ek tamamlama gerektirmediğine dikkat edin.
Ayrıntılar | |||
---|---|---|---|
parametreler |
| ||
İadeler | WEAVE_NO_ERROR başarı veya üzerinde WEAVE_ERROR_NO_MEMORY bağlama tablo doluysa. Aksi takdirde, bağlamayı başlatma başarısızlığını yansıtan bir hata döndürün. |
Eksik Gösterge
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Bir bağlamanın başarısız olduğuna dair bir gösterge işleyin.
Bir bağlama tamamlanmadığında, yani bağlantı bir TCP bağlaması için kapatıldığında, protokol motoru, durum işleyicilerinin çağrılması da dahil olmak üzere, kendisine bağlı olan tüm işlemlerde başarısız olmalıdır. Ayrıca, tamamlanmamış gösterge, bir eş kimliği alan bu yöntemin alternatif biçimini uygulayan herhangi bir üst sınıf nesnesine iletilir.
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
|
Eksik Gösterge
virtual void IncompleteIndication( const uint64_t & aPeerNodeId, StatusReport & aReport )=0
Bir bağlamanın tamamlanmadığına dair bir gösterge işleyin.
Bağlama hatasından haberdar olmak isteyen daha yüksek katmanlar, bir durum raporuyla birlikte yalnızca eş kimliğini ileten bu yöntemi kullanmalıdır. Bu yöntem sanal geçersizdir çünkü Aslında, herhangi DMClient veya DMPublisher alt sınıf bir uygulama sağlaması gerekir.
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
|
İçinde
virtual WEAVE_ERROR Init( WeaveExchangeManager *aExchangeMgr )
İçinde
virtual WEAVE_ERROR Init( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout )
ProtokolMotoru
ProtocolEngine( void )
UnbindRequest
void UnbindRequest( const uint64_t & aPeerNodeId )
Bir bağlamanın geri alınmasını ve bağlama tablosundan kaldırılmasını isteyin.
Bir bağlama "bağsız" olduğunda, şu anda ona bağlı olan tüm işlemler de kaldırılmalıdır. Bu yöntem, bu bağlama ile tüm işlemleri otomatik olarak sonlandırır.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
UnbindRequest(const uint64_t, WEAVE_ERROR)
UnbindRequest
void UnbindRequest( const uint64_t & aPeerNodeId, WEAVE_ERROR aErr )
Bir bağlamanın geri alınmasını ve bağlama tablosundan kaldırılmasını isteyin.
Bir bağlama "bağsız" olduğunda, şu anda ona bağlı olan tüm işlemler de kaldırılmalıdır. Bu yöntem, bu bağlama ile tüm işlemleri otomatik olarak sonlandırır.
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
|
UnbindRequest(const uint64_t)
~ProtokolMotor
virtual ~ProtocolEngine( void )
Korumalı fonksiyonlar
Açık
void Clear( void )
ClearBindingTable
void ClearBindingTable( void )
ClearTransactionTable
void ClearTransactionTable( void )
DequeueTransaction
void DequeueTransaction( DMTransaction *aTransaction )
EnqueueTransaction
WEAVE_ERROR EnqueueTransaction( DMTransaction *aTransaction, Binding *aBinding )
EnqueueTransaction
WEAVE_ERROR EnqueueTransaction( DMTransaction *aTransaction )
Failİşlemler
bool FailTransactions( Binding *aBinding, StatusReport & aReport )
Sonuçlandırmak
virtual void Finalize( void )
FinalizeBindingTable
void FinalizeBindingTable( void )
FinalizeTransactionTable
void FinalizeTransactionTable( void )
Sonlandırİşlemler
void FinalizeTransactions( Binding *aBinding )
FromExchangeCtx
Binding * FromExchangeCtx( ExchangeContext *aExchangeCtx )
GetBinding
Binding * GetBinding( const uint64_t & aPeerNodeId )
YeniBinding
Binding * NewBinding( void )
İşlemi Başlat
WEAVE_ERROR StartTransaction( DMTransaction *aTransaction, Binding *aBinding )
İşlemi Başlat
WEAVE_ERROR StartTransaction( DMTransaction *aTransaction )
DurumYanıt
WEAVE_ERROR StatusResponse( ExchangeContext *aExchangeCtx, StatusReport & aStatus )