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
Veri yönetimi varlığı (müşteri veya yayıncı) hem protokol motoru bileşenine hem de 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'de, motorun yalnızca yayın bildirimlerini almanın ötesinde herhangi bir şeyden sorumlu olacaksa muhtemelen en az bir giriş içermesi gereken bir bağlama tablosu bulunur.
|
mExchangeMgr
|
|
mResponseTimeout
|
uint32_t
|
mTransactionTable[kTransactionTableSize]
|
Herkese açık işlevler |
|
---|---|
BindConfirm(Binding *aBinding)
|
virtual WEAVE_ERROR
Bağlama isteğinin başarıyla tamamlandığına dair onayı işleyin.
|
BindConfirm(Binding *aBinding, StatusReport & aReport)
|
virtual WEAVE_ERROR
Bağlama isteğinin başarısız olduğuna dair onayı işleyin.
|
BindRequest(const uint64_t & aPeerNodeId, uint8_t aTransport)
|
Bilinen bir eş düğüm kimliği ve aktarım tanımlayıcısı kullanarak bağlama isteğinde bulunun.
|
BindRequest(const uint64_t & aPeerNodeId)
|
Varsayılan aktarımı kullanarak bilinen bir eşe bağlayın.
|
BindRequest(nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode)
|
|
BindRequest(WeaveConnection *aConnection)
|
Etkin bir Weave bağlantısı kullanarak bağlama isteğinde bulunun.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
Bağlamanın başarısız olduğuna dair bir göstergeyi işleme.
|
IncompleteIndication(const uint64_t & aPeerNodeId, StatusReport & aReport)=0
|
virtual void
Bağlamanın tamamlanmadığını belirten bildirimleri işleme.
|
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 tablodan 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 tablodan 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'de, motorun yalnızca yayın bildirimlerini almanın ötesinde herhangi bir şeyden sorumlu olacaksa muhtemelen en az bir giriş içermesi gereken bir bağlama tablosu bulunur.
Bağlamalar genellikle düğüm kimliğine göre dizine eklenir. Yani her motorun, belirli bir hizmet uç noktasına yalnızca tek bir bağlaması olabilir.
WDM spesifikasyonunda bu "varsayılan bağlama" kavramı vardır. Açık bir hedef sağlanmazsa mesajların gittiği yer burasıdır. Bu, çoğunlukla tek bir bağlama veya az sayıda bağlama olan çok basit cihazlarda kullanılacak ve diğer amaçlar için yalnızca oluşturulan ilk bağlama olacaktır.
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mResponseTimeout
uint32_t mResponseTimeout
mTransactionTable
TransactionTableEntry mTransactionTable[kTransactionTableSize]
Herkese açık işlevler
BindConfirm
virtual WEAVE_ERROR BindConfirm( Binding *aBinding )
Bağlama isteğinin başarıyla tamamlandığına dair onayı işleyin.
Bir bağlama tamamlandıktan sonra protokol motoru, işlem tablosundan geçer ve bu bağlamaya bağlı tüm işlemleri başlatır.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
WEAVE_NO_ERROR: Başarılı olunduğunda. Aksi takdirde, işlem başlatılamayacağını belirten bir WEAVE_ERROR döndürün.
|
BindConfirm
virtual WEAVE_ERROR BindConfirm( Binding *aBinding, StatusReport & aReport )
Bağlama isteğinin başarısız olduğuna dair onayı işleyin.
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 tanımlayıcısı kullanarak bağlama isteğinde bulunun.
Bir eş düğüm kimliği ve aktarım spesifikasyonu sağlandığında bu istek, söz konusu eşle bağlantı oluşturur. Teklif verme işlemi YALNIZCA aktarım TCP ise ek tamamlama gerektirir. Eş için zaten bir bağlantı varsa yeniden kullanılır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Başarı sonucu WEAVE_NO_ERROR veya bağlama tablosu doluysa WEAVE_ERROR_NO_MEMORY. Aksi takdirde, bağlamanın başlatılamadığını yansıtan bir WEAVE_ERROR döndürün.
|
WeaveTransportOption
BindRequest
WEAVE_ERROR BindRequest( const uint64_t & aPeerNodeId )
Varsayılan aktarımı kullanarak bilinen bir eşe bağlayın.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
WEAVE_NO_ERROR: Başarılı olunduğunda. Aksi takdirde, bağlama işleminin hatasını yansıtan bir WEAVE_ERROR döndürün.
|
BindRequest
WEAVE_ERROR BindRequest( nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode )
BindRequest
WEAVE_ERROR BindRequest( WeaveConnection *aConnection )
Etkin bir Weave bağlantısı kullanarak bağlama isteğinde bulunun.
Bağlama, mevcut ve açık bir bağlantı kullanılarak da oluşturulabilir. Bu şekilde oluşturulan bağlamaların ek tamamlama gerektirmediğini unutmayın.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Başarı sonucu WEAVE_NO_ERROR veya bağlama tablosu doluysa WEAVE_ERROR_NO_MEMORY. Aksi takdirde, bağlamanın başlatılamadığını yansıtan bir hata döndürün.
|
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Bağlamanın başarısız olduğuna dair bir göstergeyi işleme.
Bir bağlama tamamlanmadığında (yani, TCP bağlaması için bağlantı kapatıldığında protokol motoru, buna bağlı olan tüm işlemlerde (ör. durum işleyicilerinin çağrılması) başarısız olmalıdır. Ayrıca, eksik gösterge, bu yöntemin eş kimliği alan alternatif biçimini uygulayan herhangi bir üst sınıf nesneye iletilir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
IncompleteIndication
virtual void IncompleteIndication( const uint64_t & aPeerNodeId, StatusReport & aReport )=0
Bağlamanın tamamlanmadığını belirten bildirimleri işleme.
Bağlama hatası hakkında bilgi almak isteyen daha yüksek katmanlar, bu yöntemi kullanmalıdır. Bu yöntem, yalnızca eş kimliğini durum raporuyla birlikte iletir. Aslında bu yöntem sanal olarak geçersiz olduğundan tüm DMClient veya DMPublisher alt sınıflarının bir uygulama sağlaması gerekir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
Init
virtual WEAVE_ERROR Init( WeaveExchangeManager *aExchangeMgr )
Init
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 tablodan kaldırılmasını isteyin.
Bir bağlama "sınırsız" olduğunda Şu anda bu kaynağa bağlı olan tüm işlemler de kaldırılmalıdır. Bu yöntem, bu bağlama sahip olan tüm işlemleri otomatik olarak kesinleştirir.
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 tablodan kaldırılmasını isteyin.
Bir bağlama "sınırsız" olduğunda Şu anda bu kaynağa bağlı olan tüm işlemler de kaldırılmalıdır. Bu yöntem, bu bağlama sahip olan tüm işlemleri otomatik olarak kesinleştirir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
UnbindRequest(const uint64_t)
~ProtocolEngine
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 )