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)
GetBinding (const uint64_t & aPeerNodeId)
NewBinding (void)
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
[in] aBinding
Tamamlanmış bağlamaya yönelik bir işaretçi.
İ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
[in] aBinding
Başarısız bağlamaya yönelik bir işaretçi.
[in] aReport
Başarısızlığın nedenini ayrıntılandıran bir StatusReport nesnesine başvuru.
İ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
[in] aPeerNodeId
Bağlama hedefi olan eş varlığın 64 bit düğüm kimliğine başvuru.
[in] aTransport
Kullanılacak ulaşım.
İ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.
Ayrıca bakınız:
Ö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
[in] aPeerNodeId
Bağlama hedefi olan eş varlığın 64 bit düğüm kimliğine başvuru.
İ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
[in] aConnection
Bağlama tarafından kullanılacak bir Örgü bağlantısına yönelik bir İşaretçi.
İ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
[in] aBinding
Başarısız bağlamaya yönelik bir işaretçi.
[in] aReport
Başarısızlığın nedenini ayrıntılandıran bir StatusReport nesnesine başvuru.

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
[in] aPeerNodeId
Başarısız bağlamanın hedefi olan eş düğümün veya hizmet uç noktasının 64 bit kimliğine başvuru.
[in] aReport
Başarısızlığın nedenini ayrıntılandıran bir StatusReport nesnesine başvuru.

İç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
[in] aPeerNodeId
Bağlamayı tanımlayan 64 bitlik düğüm kimliğine veya hizmet uç noktasına başvuru.
Ayrıca bakınız:
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
[in] aPeerNodeId
Bağlamayı tanımlayan 64 bit düğüm kimliğine veya hizmet uç noktasına başvuru.
[in] aErr
WEAVE_NO_ERROR, bu bağlantı kaldırma isteği için belirli bir neden yoksa, aksi takdirde hatanın nedeni aktarılır.
Ayrıca bakınız:
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
)