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)
GetBinding(const uint64_t & aPeerNodeId)
NewBinding(void)
StartTransaction(DMTransaction *aTransaction, Binding *aBinding)
StartTransaction(DMTransaction *aTransaction)
StatusResponse(ExchangeContext *aExchangeCtx, StatusReport & aStatus)

Sınıflar

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine::DMTransaction

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
[in] aBinding
Tamamlanan bağlamanın işaretçisi.
İ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
[in] aBinding
Başarısız bağlamaya işaretçi.
[in] aReport
Hatanın nedenini ayrıntılı bir şekilde açıklayan bir StatusReport nesnesine referans.
İ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
[in] aPeerNodeId
Bağlama hedefi olan eş varlığın 64 bit düğüm kimliğine referans.
[in] aTransport
Kullanılacak aktarım.
İ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.
Şu makaleyi de inceleyebilirsiniz:
WeaveTransportOption

BindRequest

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId
)

Varsayılan aktarımı kullanarak bilinen bir eşe bağla.

Ayrıntılar
Parametreler
[in] aPeerNodeId
Bağlama hedefi olan eş varlığın 64 bit düğüm kimliğine referans.
İ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
[in] aConnection
Bağlama tarafından kullanılacak bir Weave bağlantısının işaretçisi.
İ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
[in] aBinding
Başarısız bağlamaya işaretçi.
[in] aReport
Hatanın nedenini ayrıntılı bir şekilde açıklayan bir StatusReport nesnesine referans.

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
[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 referans.
[in] aReport
Hatanın nedenini ayrıntılı bir şekilde açıklayan bir StatusReport nesnesine referans.

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
[in] aPeerNodeId
Bağlamayı tanımlayan 64 bit düğüm kimliğine veya hizmet uç noktasına referans.
Şu makaleyi de inceleyebilirsiniz:
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
[in] aPeerNodeId
Bağlamayı tanımlayan 64 bit düğüm kimliğine veya hizmet uç noktasına referans.
[in] aErr
Bu bağlantıyı kaldırma isteği için belirli bir neden yoksa WEAVE_NO_ERROR, aksi takdirde hatanın nedeni belirtilir.
Şu makaleyi de inceleyebilirsiniz:
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
)

StartTransaction

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction
)

StatusResponse

WEAVE_ERROR StatusResponse(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)