nl:: Weave:: Profiles:: DataManagement_Legacy:: ProtocolEngine
Bu soyut bir sınıftır.
#include <src/lib/profiles/data-management/Legacy/ProtocolEngine.h>
WDM protokolü motor sınıfı.
Özet
İstemci veya yayıncı gibi veri yönetimi varlıkları, protokol motoru bileşeni ve veri yöneticisi bileşenine sahiptir. Bu soyut sınıf, protokol motorunun ortak özelliklerini temsil eder.
Devralma
Doğrudan Bilinen Alt Sınıflar:nl::Weave::Profiles::DataManagement_Legacy::DMClient
nl::Weave::Profiles::DataManagement_Legacy::DMPublisher
Oluşturucular ve Yıkıcılar |
|
---|---|
ProtocolEngine(void)
|
|
~ProtocolEngine(void)
|
Korunan özellikler |
|
---|---|
mBindingTable[kBindingTableSize]
|
ProtocolEngine ile ilgili bir bağlama tablosu vardır. Motor, yalnızca yayın bildirimlerini almanın ötesinde her şeyden sorumlu olacaksa muhtemelen en az bir giriş içermesi gerekir.
|
mExchangeMgr
|
|
mResponseTimeout
|
uint32_t
|
mTransactionTable[kTransactionTableSize]
|
Kamu işlevleri |
|
---|---|
BindConfirm(Binding *aBinding)
|
virtual WEAVE_ERROR
Bağlama isteğinin başarıyla tamamlandığına dair onayı işleme alın.
|
BindConfirm(Binding *aBinding, StatusReport & aReport)
|
virtual WEAVE_ERROR
Bağlama isteğinin başarısız olduğunu doğrulama işlemini tamamlayın.
|
BindRequest(const uint64_t & aPeerNodeId, uint8_t aTransport)
|
Bilinen bir eş düğüm kimliği ve aktarım belirteci kullanarak bağlama isteğinde bulunun.
|
BindRequest(const uint64_t & aPeerNodeId)
|
Varsayılan aktarımı kullanarak bilinen bir eşe bağla.
|
BindRequest(nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode)
|
|
BindRequest(WeaveConnection *aConnection)
|
Etkin bir Weave bağlantısını kullanarak bağlama isteğinde bulunun.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
Bir bağlamanın başarısız olduğuna dair bir göstergeyi işleyin.
|
IncompleteIndication(const uint64_t & aPeerNodeId, StatusReport & aReport)=0
|
virtual void
Bir bağlamanın tamamlanmadığını belirten bir durumu 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.
|
Korunan işlevler |
|
---|---|
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:: |
Korunan özellikler
mBindingTable
Binding mBindingTable[kBindingTableSize]
ProtocolEngine ile ilgili bir bağlama tablosu vardır. Motor, yalnızca yayın bildirimlerini almanın ötesinde her şeyden sorumlu olacaksa muhtemelen en az bir giriş içermesi gerekir.
Bağlamalar genellikle düğüm kimliğine göre dizine eklenir. Bu, her motorun belirli bir hizmet uç noktasına yalnızca tek bir bağlaması olabileceği anlamına gelir.
WDM spesifikasyonunda, açık bir hedef belirtilmediğinde mesajların gideceği yer olan "varsayılan bağlama" kavramı vardır. Bu çoğu zaman tek bir bağlama veya az sayıda bağlamaya sahip çok basit cihazlarda kullanılır ve diğer amaçlar için yalnızca oluşturulan ilk bağlama olur.
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mResponseTimeout
uint32_t mResponseTimeout
mTransactionTable
TransactionTableEntry mTransactionTable[kTransactionTableSize]
Kamu işlevleri
BindConfirm
virtual WEAVE_ERROR BindConfirm( Binding *aBinding )
Bağlama isteğinin başarıyla tamamlandığına dair onayı işleme alın.
Bir bağlama tamamlandıktan sonra, protokol motoru işlem tablosundan geçer ve bu bağlamaya bağımlı tüm işlemleri başlatır.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
WEAVE_NO_ERROR Başarılı olursa. Aksi takdirde, işlem başlatamadığını belirten bir WEAVE_ERROR döndürür.
|
BindConfirm
virtual WEAVE_ERROR BindConfirm( Binding *aBinding, StatusReport & aReport )
Bağlama isteğinin başarısız olduğunu doğrulama işlemini tamamlayın.
Bir bağlama isteği başarısız olduğunda protokol motorunun işlem tablosundan geçmesi ve bağlamaya bağlı olarak tüm işlemlerde başarısız olması gerekir.
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 bağlama isteğinde bulunun.
Bu istek, bir eş düğüm kimliği ve aktarım spesifikasyonu sayesinde söz konusu eşe bağlama oluşturur. YALNIZCA taşıma TCP'yse teklif verme için ek tamamlama gerekir. Eşle ilgili bir bağlama zaten mevcutsa yeniden kullanılır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Başarılı olduğunda WEAVE_NO_ERROR veya bağlama tablosu doluysa WEAVE_ERROR_NO_MEMORY. Aksi takdirde, bağlamanın başlatılamamasına neden olan bir WEAVE_ERROR döndürülür.
|
WeaveTransportOption
BindRequest
WEAVE_ERROR BindRequest( const uint64_t & aPeerNodeId )
Varsayılan aktarımı kullanarak bilinen bir eşe bağla.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
WEAVE_NO_ERROR Başarılı olursa. Aksi takdirde, bağlama işleminin başarısız olduğunu yansıtan bir WEAVE_ERROR döndürülür.
|
BindRequest
WEAVE_ERROR BindRequest( nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode )
BindRequest
WEAVE_ERROR BindRequest( WeaveConnection *aConnection )
Etkin bir Weave bağlantısını kullanarak bağlama isteğinde bulunun.
Mevcut ve açık bir bağlantı kullanılarak da bağlama oluşturulabilir. Bu şekilde oluşturulan bağlamaların ek bir tamamlama gerektirmediğini unutmayın.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Başarılı olduğunda WEAVE_NO_ERROR veya bağlama tablosu doluysa WEAVE_ERROR_NO_MEMORY. Aksi takdirde, bağlamayı başlatma hatasını yansıtan bir hata döndürülür.
|
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Bir bağlamanın başarısız olduğuna dair bir göstergeyi işleyin.
Bir bağlama tamamlanmadığında (ör. TCP bağlaması için bağlantı kapatıldığında), protokol motorunun, durum işleyicilerinin çağrılması da dahil olmak üzere buna bağımlı tüm işlemlerde başarısız olması gerekir. Ayrıca, tamamlanmamış gösterge, bu yöntemin eş kimliği alan alternatif biçimini uygulayan tüm üst sınıf nesnelere aktarılır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
IncompleteIndication
virtual void IncompleteIndication( const uint64_t & aPeerNodeId, StatusReport & aReport )=0
Bir bağlamanın tamamlanmadığını belirten bir durumu işleyin.
Bağlama hatası hakkında bilgi almak istediğiniz üst katmanlardaki bu yöntem, durum raporuyla birlikte eş kimliğini ileten bu yöntemi kullanmalıdır. Aslında, bu yöntem sanal boşluk olduğundan, herhangi bir DMClient veya DMPublisher alt sınıfının bir uygulama sağlaması gerekir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
Başlat
virtual WEAVE_ERROR Init( WeaveExchangeManager *aExchangeMgr )
Başlat
virtual WEAVE_ERROR Init( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout )
ProtocolEngine
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ğlantısı kaldırıldığında" şu anda bu bağlamaya bağlı olan tüm işlemler de kaldırılmalıdır. Bu yöntem, bu bağlamaya sahip 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ğlantısı kaldırıldığında" şu anda bu bağlamaya bağlı olan tüm işlemler de kaldırılmalıdır. Bu yöntem, bu bağlamaya sahip tüm işlemleri otomatik olarak sonlandırır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
UnbindRequest(const uint64_t)
~ProtokolMotor
virtual ~ProtocolEngine( void )
Korunan işlevler
Temizle
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 )
FailTransactions
bool FailTransactions( Binding *aBinding, StatusReport & aReport )
Sonlandır
virtual void Finalize( void )
FinalizeBindingTable
void FinalizeBindingTable( void )
FinalizeTransactionTable
void FinalizeTransactionTable( void )
FinalizeTransactions
void FinalizeTransactions( Binding *aBinding )
FromExchangeCtx
Binding * FromExchangeCtx( ExchangeContext *aExchangeCtx )
GetBinding
Binding * GetBinding( const uint64_t & aPeerNodeId )
NewBinding
Binding * NewBinding( void )
StartTransaction
WEAVE_ERROR StartTransaction( DMTransaction *aTransaction, Binding *aBinding )