Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl:: Menenun:: Profil:: DataManagement_Legacy:: Mesin Protokol

Ini adalah kelas abstrak.

#include <src/lib/profiles/data-management/Legacy/ProtocolEngine.h>

Kelas mesin protokol WDM.

Ringkasan

Entitas manajemen data, klien atau penerbit, memiliki komponen mesin protokol dan komponen pengelola data. Kelas abstrak ini mewakili fitur umum dari mesin protokol.

Warisan

Subclass yang Diketahui Langsung:
  nl::Menenun::Profil::DataManagement_Legacy::DMClient
  nl::Menenun::Profil::DataManagement_Legacy::DMPublisher

Konstruktor dan Destruktor

ProtocolEngine (void)
~ProtocolEngine (void)

Atribut yang dilindungi

mBindingTable [kBindingTableSize]
The ProtocolEngine memiliki meja yang mengikat bahwa, jika mesin akan bertanggung jawab untuk apa pun di luar hanya menerima pemberitahuan siaran, mungkin perlu mengandung setidaknya satu entri.
mExchangeMgr
mResponseTimeout
uint32_t
mTransactionTable [kTransactionTableSize]

Fungsi publik

BindConfirm ( Binding *aBinding)
virtual WEAVE_ERROR
Menangani konfirmasi bahwa permintaan pengikatan telah berhasil diselesaikan.
BindConfirm ( Binding *aBinding, StatusReport & aReport)
virtual WEAVE_ERROR
Menangani konfirmasi bahwa permintaan pengikatan telah gagal.
BindRequest (const uint64_t & aPeerNodeId, uint8_t aTransport)
Minta pengikatan menggunakan ID node peer yang diketahui dan penentu transport.
BindRequest (const uint64_t & aPeerNodeId)
Ikat ke rekan yang dikenal menggunakan transport default.
BindRequest ( nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode)
BindRequest ( WeaveConnection *aConnection)
Minta pengikatan menggunakan koneksi Weave aktif.
IncompleteIndication ( Binding *aBinding, StatusReport & aReport)
virtual void
Menangani indikasi bahwa pengikatan telah gagal.
IncompleteIndication (const uint64_t & aPeerNodeId, StatusReport & aReport)=0
virtual void
Menangani indikasi bahwa pengikatan telah menjadi tidak lengkap.
Init ( WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
Init ( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
UnbindRequest (const uint64_t & aPeerNodeId)
void
Meminta agar pengikatan dibatalkan dan dihapus dari tabel pengikatan.
UnbindRequest (const uint64_t & aPeerNodeId, WEAVE_ERROR aErr)
void
Meminta agar pengikatan dibatalkan dan dihapus dari tabel pengikatan.

Fungsi yang dilindungi

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)

Kelas

nl :: Weave :: Profil :: DataManagement_Legacy :: ProtocolEngine :: DMTransaction

Atribut yang dilindungi

mBindingTabel

Binding mBindingTable[kBindingTableSize]

The ProtocolEngine memiliki meja yang mengikat bahwa, jika mesin akan bertanggung jawab untuk apa pun di luar hanya menerima pemberitahuan siaran, mungkin perlu mengandung setidaknya satu entri.

Binding umumnya diindeks oleh ID node. Artinya, setiap mesin hanya dapat memiliki satu ikatan ke titik akhir layanan tertentu.

Spesifikasi WDM memiliki gagasan tentang "pengikatan default" yang merupakan tempat pesan pergi jika tidak ada tujuan eksplisit yang diberikan. Ini sebagian besar akan digunakan dalam perangkat yang sangat sederhana dengan ikatan tunggal atau sejumlah kecil ikatan dan, untuk tujuan lain, hanya akan menjadi ikatan pertama yang terbentuk.

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mResponseTimeout

uint32_t mResponseTimeout

mTransaksiTable

TransactionTableEntry mTransactionTable[kTransactionTableSize]

Fungsi publik

MengikatKonfirmasi

virtual WEAVE_ERROR BindConfirm(
  Binding *aBinding
)

Menangani konfirmasi bahwa permintaan pengikatan telah berhasil diselesaikan.

Setelah pengikatan selesai, mesin protokol melewati tabel transaksi dan memulai transaksi apa pun yang bergantung pada pengikatan itu.

rincian
Parameter
[in] aBinding
Pointer ke binding yang sudah selesai.
Kembali
WEAVE_NO_ERROR Pada keberhasilan. Jika tidak mengembalikan WEAVE_ERROR mencerminkan ketidakmampuan untuk memulai transaksi.

MengikatKonfirmasi

virtual WEAVE_ERROR BindConfirm(
  Binding *aBinding,
  StatusReport & aReport
)

Menangani konfirmasi bahwa permintaan pengikatan telah gagal.

Ketika permintaan pengikatan gagal, mesin protokol harus melalui tabel transaksi dan gagal setiap transaksi tergantung pada pengikatan.

rincian
Parameter
[in] aBinding
Pointer ke pengikatan yang gagal.
[in] aReport
Referensi ke objek StatusReport yang merinci alasan kegagalan.
Kembali

BindRequest

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId,
  uint8_t aTransport
)

Minta pengikatan menggunakan ID node peer yang dikenal dan penentu transport.

Diberikan ID node peer dan spesifikasi transport, permintaan ini menyiapkan pengikatan ke peer tersebut. Penawaran akan membutuhkan penyelesaian tambahan HANYA jika transportasi adalah TCP. Jika pengikatan ke rekan sudah ada, itu digunakan kembali.

rincian
Parameter
[in] aPeerNodeId
Referensi ke ID node 64-bit dari entitas rekan yang merupakan target pengikatan.
[in] aTransport
Transportasi yang akan digunakan.
Kembali
WEAVE_NO_ERROR pada keberhasilan atau WEAVE_ERROR_NO_MEMORY jika tabel yang mengikat penuh. Jika tidak mengembalikan WEAVE_ERROR mencerminkan kegagalan untuk menginisialisasi mengikat.
Lihat juga:
WeaveTransportOption

BindRequest

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId
)

Ikat ke rekan yang dikenal menggunakan transport default.

rincian
Parameter
[in] aPeerNodeId
Referensi ke ID node 64-bit dari entitas rekan yang merupakan target pengikatan.
Kembali
WEAVE_NO_ERROR Pada keberhasilan. Jika tidak mengembalikan WEAVE_ERROR mencerminkan kegagalan operasi mengikat.

BindRequest

WEAVE_ERROR BindRequest(
  nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr,
  WeaveAuthMode aAuthMode
)

BindRequest

WEAVE_ERROR BindRequest(
  WeaveConnection *aConnection
)

Minta pengikatan menggunakan koneksi Weave aktif.

Pengikatan juga dapat dibuat menggunakan koneksi yang sudah ada dan terbuka. Perhatikan bahwa binding yang dibuat dengan cara ini tidak memerlukan penyelesaian tambahan.

rincian
Parameter
[in] aConnection
Pointer ke koneksi Weave yang akan digunakan oleh binding.
Kembali
WEAVE_NO_ERROR pada keberhasilan atau WEAVE_ERROR_NO_MEMORY jika tabel yang mengikat penuh. Jika tidak, kembalikan kesalahan yang mencerminkan kegagalan untuk menginisialisasi pengikatan.

Indikasi tidak lengkap

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

Menangani indikasi bahwa pengikatan telah gagal.

Ketika pengikatan menjadi tidak lengkap, yaitu ketika koneksi ditutup untuk pengikatan TCP, mesin protokol harus menggagalkan setiap transaksi yang bergantung padanya, termasuk memanggil penangan status mereka. Juga, indikasi yang tidak lengkap diteruskan ke objek superkelas mana pun yang mengimplementasikan bentuk alternatif dari metode ini yang menggunakan ID rekan.

rincian
Parameter
[in] aBinding
Pointer ke pengikatan yang gagal.
[in] aReport
Referensi ke objek StatusReport yang merinci alasan kegagalan.

Indikasi tidak lengkap

virtual void IncompleteIndication(
  const uint64_t & aPeerNodeId,
  StatusReport & aReport
)=0

Menangani indikasi bahwa pengikatan telah menjadi tidak lengkap.

Lapisan yang lebih tinggi yang ingin diberi tahu tentang kegagalan pengikatan harus menggunakan metode ini, yang hanya meneruskan ID rekan bersama dengan laporan status. Bahkan, karena metode ini tidak berlaku virtual, setiap DMClient atau DMPublisher subclass harus menyediakan sebuah implementasi.

rincian
Parameter
[in] aPeerNodeId
Referensi ke ID 64-bit dari node rekan atau titik akhir layanan yang merupakan target pengikatan yang gagal.
[in] aReport
Referensi ke objek StatusReport yang merinci alasan kegagalan.

init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Mesin Protokol

 ProtocolEngine(
  void
)

UnbindRequest

void UnbindRequest(
  const uint64_t & aPeerNodeId
)

Meminta agar pengikatan dibatalkan dan dihapus dari tabel pengikatan.

Ketika pengikatan "tidak terikat" setiap transaksi yang saat ini bergantung padanya harus dihapus juga. Metode ini menyelesaikan semua transaksi dengan pengikatan ini secara otomatis.

rincian
Parameter
[in] aPeerNodeId
Referensi ke ID node 64-bit atau titik akhir layanan yang mengidentifikasi pengikatan.
Lihat juga:
UnbindRequest(const uint64_t, WEAVE_ERROR)

UnbindRequest

void UnbindRequest(
  const uint64_t & aPeerNodeId,
  WEAVE_ERROR aErr
)

Meminta agar pengikatan dibatalkan dan dihapus dari tabel pengikatan.

Ketika pengikatan "tidak terikat" setiap transaksi yang saat ini bergantung padanya harus dihapus juga. Metode ini menyelesaikan semua transaksi dengan pengikatan ini secara otomatis.

rincian
Parameter
[in] aPeerNodeId
Referensi ke ID node 64-bit atau titik akhir layanan yang mengidentifikasi pengikatan.
[in] aErr
WEAVE_NO_ERROR jika tidak ada alasan khusus untuk permintaan pelepasan ini, jika tidak, penyebab kesalahan akan diturunkan.
Lihat juga:
UnbindRequest(const uint64_t)

~Mesin Protokol

virtual  ~ProtocolEngine(
  void
)

Fungsi yang dilindungi

Bersih

void Clear(
  void
)

ClearBindingTable

void ClearBindingTable(
  void
)

HapusTransaksiTabel

void ClearTransactionTable(
  void
)

DequeueTransaksi

void DequeueTransaction(
  DMTransaction *aTransaction
)

EnqueueTransaksi

WEAVE_ERROR EnqueueTransaction(
  DMTransaction *aTransaction,
  Binding *aBinding
)

EnqueueTransaksi

WEAVE_ERROR EnqueueTransaction(
  DMTransaction *aTransaction
)

Transaksi Gagal

bool FailTransactions(
  Binding *aBinding,
  StatusReport & aReport
)

Menyelesaikan

virtual void Finalize(
  void
)

SelesaikanBindingTable

void FinalizeBindingTable(
  void
)

SelesaikanTransactionTable

void FinalizeTransactionTable(
  void
)

Selesaikan Transaksi

void FinalizeTransactions(
  Binding *aBinding
)

Dari ExchangeCtx

Binding * FromExchangeCtx(
  ExchangeContext *aExchangeCtx
)

Dapatkan Pengikatan

Binding * GetBinding(
  const uint64_t & aPeerNodeId
)

BaruMengikat

Binding * NewBinding(
  void
)

Mulai Transaksi

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction,
  Binding *aBinding
)

Mulai Transaksi

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction
)

StatusRespon

WEAVE_ERROR StatusResponse(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)