nl::Weave::WeaveExchangeManager

#include <src/lib/core/WeaveExchangeMgr.h>

Class ini digunakan untuk mengelola ExchangeContext dengan node Weave lainnya.

Ringkasan

Layanan ini berfungsi atas nama lapisan yang lebih tinggi, yang membuat ExchangeContexts dan menangani pendaftaran/pembatalan pendaftaran pengendali pesan yang tidak diminta.

Konstruktor dan Destruktor

WeaveExchangeManager(void)
Konstruktor untuk class WeaveExchangeManager.

Jenis publik

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
enum

Atribut publik

FabricState
[HANYA BACA] Objek FabricState terkait.
MessageLayer
[HANYA BACA] Objek WeaveMessageLayer terkait.
State
uint8_t
[HANYA BACA] Status objek WeaveExchangeManager.

Fungsi publik

AllowUnsolicitedMessages(WeaveConnection *con)
void
Mengizinkan pesan yang tidak diminta diterima di koneksi yang ditentukan.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
Menghapus tanda MsgCounterSyncReq untuk semua pesan yang tertunda ke pembanding tersebut.
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Temukan ExchangeContext dari kumpulan yang cocok dengan kumpulan parameter tertentu.
Init(WeaveMessageLayer *msgLayer)
Lakukan inisialisasi objek WeaveExchangeManager.
NewBinding(Binding::EventCallback eventCallback, void *appState)
Alokasikan Binding baru dengan argumen yang disediakan.
NewContext(const uint64_t & peerNodeId, void *appState)
Membuat ExchangeContext baru dengan node Weave pembanding tertentu yang ditentukan oleh ID node pembanding.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Membuat ExchangeContext baru dengan node Weave peer tertentu yang ditentukan oleh ID node peer dan alamat IP peer.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Membuat ExchangeContext baru dengan node Weave peer tertentu yang ditentukan oleh ID node peer, alamat IP peer, dan port tujuan pada antarmuka yang ditentukan.
NewContext(WeaveConnection *con, void *appState)
Membuat ExchangeContext baru dengan node Weave pembanding tertentu melalui WeaveConnection yang ditentukan.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil tertentu.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil tertentu.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil dan jenis pesan tertentu.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil dan jenis pesan tertentu.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil tertentu, jenis pesan pada koneksi Weave yang ditentukan.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil tertentu, jenis pesan pada koneksi Weave yang ditentukan.
Shutdown(void)
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
Membatalkan pendaftaran pengendali pesan yang tidak diminta untuk ID profil tertentu.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Membatalkan pendaftaran pengendali pesan yang tidak diminta untuk ID profil dan jenis pesan tertentu.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Membatalkan pendaftaran pengendali pesan yang tidak diminta untuk ID profil, jenis pesan, dan koneksi Weave tertentu.

Jenis publik

Negara Bagian

 State
Properti
kState_Initialized

Digunakan untuk menunjukkan bahwa WeaveExchangeManager diinisialisasi.

kState_NotInitialized

Digunakan untuk menunjukkan bahwa WeaveExchangeManager tidak diinisialisasi.

Atribut publik

FabricState

WeaveFabricState * FabricState

[HANYA BACA] Objek FabricState terkait.

MessageLayer

WeaveMessageLayer * MessageLayer

[HANYA BACA] Objek WeaveMessageLayer terkait.

Negara Bagian

uint8_t State

[HANYA BACA] Status objek WeaveExchangeManager.

Fungsi publik

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Mengizinkan pesan yang tidak diminta diterima di koneksi yang ditentukan.

Metode ini menetapkan pengendali penerimaan pesan pada koneksi Weave yang diberikan.

Detail
Parameter
[in] con
Pointer ke objek koneksi Weave.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

Menghapus tanda MsgCounterSyncReq untuk semua pesan yang tertunda ke pembanding tersebut.

Detail
Parameter
[in] peerNodeId
ID Node tujuan.

FindContext

ExchangeContext * FindContext(
  uint64_t peerNodeId,
  WeaveConnection *con,
  void *appState,
  bool isInitiator
)

Temukan ExchangeContext dari kumpulan yang cocok dengan kumpulan parameter tertentu.

Detail
Parameter
[in] peerNodeId
ID node pembanding yang digunakan untuk menyiapkan ExchangeContext.
[in] con
Pointer ke objek WeaveConnection yang mewakili koneksi TCP dengan peer.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
[in] isInitiator
Indikator Boolean tentang apakah node lokal adalah inisiator pertukaran.
Hasil
Pointer ke objek ExchangeContext yang cocok dengan parameter yang diberikan. Jika berhasil, NULL jika tidak ada kecocokan.

Inisiasi

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Lakukan inisialisasi objek WeaveExchangeManager.

Selama masa aktif instance ini, metode ini dipanggil satu kali setelah pembuatan objek hingga panggilan untuk Penonaktifan dilakukan untuk menghentikan instance.

Detail
Parameter
[in] msgLayer
Pointer ke objek WeaveMessageLayer.
Nilai Pengembalian
WEAVE_ERROR_INCORRECT_STATE
Jika status tidak sama dengan kState_NotInitialized.
WEAVE_NO_ERROR
Setelah berhasil.

NewBinding

Binding * NewBinding(
  Binding::EventCallback eventCallback,
  void *appState
)

Alokasikan Binding baru dengan argumen yang disediakan.

Detail
Parameter
[in] eventCallback
Pointer fungsi yang akan digunakan untuk callback peristiwa
[in] appState
Pointer ke beberapa konteks yang akan dibawa dalam callback peristiwa nanti
Hasil
Pointer ke Binding yang baru dialokasikan, atau NULL jika kumpulan telah habis

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  void *appState
)

Membuat ExchangeContext baru dengan node Weave pembanding tertentu yang ditentukan oleh ID node pembanding.

Detail
Parameter
[in] peerNodeId
ID node pembanding yang digunakan untuk menyiapkan ExchangeContext.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
Hasil
Pointer ke objek ExchangeContext yang dibuat. Jika tidak, NULL jika tidak ada objek yang dapat dialokasikan atau tersedia.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  void *appState
)

Membuat ExchangeContext baru dengan node Weave peer tertentu yang ditentukan oleh ID node peer dan alamat IP peer.

Detail
Parameter
[in] peerNodeId
ID node pembanding yang digunakan untuk menyiapkan ExchangeContext.
[in] peerAddr
Alamat IP node peer.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
Hasil
Pointer ke objek ExchangeContext yang dibuat. Jika tidak, NULL jika tidak ada objek yang dapat dialokasikan atau tersedia.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId sendIntfId,
  void *appState
)

Membuat ExchangeContext baru dengan node Weave peer tertentu yang ditentukan oleh ID node peer, alamat IP peer, dan port tujuan pada antarmuka yang ditentukan.

Detail
Parameter
[in] peerNodeId
ID node pembanding yang digunakan untuk menyiapkan ExchangeContext.
[in] peerAddr
Alamat IP node peer.
[in] peerPort
Port node peer.
[in] sendIntfId
Antarmuka yang akan digunakan untuk mengirim pesan Weave di pertukaran ini.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
Hasil
Pointer ke objek ExchangeContext yang dibuat. Jika tidak, NULL jika tidak ada objek yang dapat dialokasikan atau tersedia.

NewContext

ExchangeContext * NewContext(
  WeaveConnection *con,
  void *appState
)

Membuat ExchangeContext baru dengan node Weave pembanding tertentu melalui WeaveConnection yang ditentukan.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection yang mewakili koneksi TCP dengan peer.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
Hasil
Pointer ke objek ExchangeContext yang dibuat. Jika tidak, NULL jika tidak ada objek yang dapat dialokasikan atau tersedia.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil tertentu.

Pengendali ini akan dipanggil untuk semua pesan dari profil yang ditentukan.

Detail
Parameter
[in] profileId
ID profil pesan yang diterima.
[in] handler
Pengendali pesan yang tidak diminta.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
Nilai Pengembalian
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
Setelah berhasil.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil tertentu.

Pengendali ini akan dipanggil untuk semua pesan dari profil yang ditentukan.

Detail
Parameter
[in] profileId
ID profil pesan yang diterima.
[in] handler
Pengendali pesan yang tidak diminta.
[in] allowDups
Indikator Boolean mengenai apakah pesan duplikat diizinkan untuk profil tertentu.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
Nilai Pengembalian
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
Setelah berhasil.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil dan jenis pesan tertentu.

Detail
Parameter
[in] profileId
ID profil pesan yang diterima.
[in] msgType
Jenis pesan dari profil yang sesuai.
[in] handler
Pengendali pesan yang tidak diminta.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
Nilai Pengembalian
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
Setelah berhasil.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil dan jenis pesan tertentu.

Detail
Parameter
[in] profileId
ID profil pesan yang diterima.
[in] msgType
Jenis pesan dari profil yang sesuai.
[in] handler
Pengendali pesan yang tidak diminta.
[in] allowDups
Indikator Boolean mengenai apakah pesan duplikat diizinkan untuk ID profil dan jenis pesan tertentu.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
Nilai Pengembalian
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
Setelah berhasil.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil tertentu, jenis pesan pada koneksi Weave yang ditentukan.

Detail
Parameter
[in] profileId
ID profil pesan yang diterima.
[in] msgType
Jenis pesan dari profil yang sesuai.
[in] con
Pointer ke objek WeaveConnection yang mewakili koneksi TCP dengan peer.
[in] handler
Pengendali pesan yang tidak diminta.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
Nilai Pengembalian
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
Setelah berhasil.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Mendaftarkan pengendali pesan yang tidak diminta untuk ID profil tertentu, jenis pesan pada koneksi Weave yang ditentukan.

Detail
Parameter
[in] profileId
ID profil pesan yang diterima.
[in] msgType
Jenis pesan dari profil yang sesuai.
[in] con
Pointer ke objek WeaveConnection yang mewakili koneksi TCP dengan peer.
[in] handler
Pengendali pesan yang tidak diminta.
[in] allowDups
Indikator Boolean mengenai apakah pesan duplikat diizinkan untuk ID profil tertentu, jenis pesan pada koneksi Weave yang ditentukan.
[in] appState
Pointer ke objek lapisan yang lebih tinggi yang menyimpan status konteks.
Nilai Pengembalian
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
Setelah berhasil.

Nonaktif

WEAVE_ERROR Shutdown(
  void
)

Matikan WeaveExchangeManager.

Ini akan menghentikan instance objek ini dan melepaskan semua resource yang ditahan.

Detail
Hasil
WEAVE_NO_ERROR tanpa syarat.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Membatalkan pendaftaran pengendali pesan yang tidak diminta untuk ID profil tertentu.

Detail
Parameter
[in] profileId
ID profil pesan yang diterima.
Nilai Pengembalian
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jika pengendali pesan yang tidak diminta yang cocok tidak ditemukan.
WEAVE_NO_ERROR
Setelah berhasil.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Membatalkan pendaftaran pengendali pesan yang tidak diminta untuk ID profil dan jenis pesan tertentu.

Detail
Parameter
[in] profileId
ID profil pesan yang diterima.
[in] msgType
Jenis pesan dari profil yang sesuai.
Nilai Pengembalian
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jika pengendali pesan yang tidak diminta yang cocok tidak ditemukan.
WEAVE_NO_ERROR
Setelah berhasil.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con
)

Membatalkan pendaftaran pengendali pesan yang tidak diminta untuk ID profil, jenis pesan, dan koneksi Weave tertentu.

Detail
Parameter
[in] profileId
ID profil pesan yang diterima.
[in] msgType
Jenis pesan dari profil yang sesuai.
[in] con
Pointer ke objek WeaveConnection yang mewakili koneksi TCP dengan peer.
Nilai Pengembalian
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jika pengendali pesan yang tidak diminta yang cocok tidak ditemukan.
WEAVE_NO_ERROR
Setelah berhasil.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Konstruktor untuk class WeaveExchangeManager.

Ini menetapkan status ke kState_NotInitialized.