nl::Weave::WeaveExchangeManager

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

Class ini digunakan untuk mengelola ExchangeContexts dengan node Weave lainnya.

Ringkasan

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

Konstruktor dan Destruktor

WeaveExchangeManager(void)
Konstruktor 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 untuk diterima di koneksi yang ditentukan.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
Hapus tanda MsgCounterSyncReq untuk semua pesan yang tertunda ke peer 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 peer tertentu yang ditentukan oleh ID node peer.
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 tertentu.
NewContext(WeaveConnection *con, void *appState)
Membuat ExchangeContext baru dengan node Weave pembanding tertentu pada 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 untuk 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
)

Hapus tanda MsgCounterSyncReq untuk semua pesan yang tertunda ke peer tersebut.

Detail
Parameter
[in] peerNodeId
ID node 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 telah menyiapkan ExchangeContext.
[in] con
Pointer ke objek WeaveConnection yang mewakili koneksi TCP dengan peer.
[in] appState
Pointer ke objek lapisan 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 disediakan. Saat berhasil, NULL jika tidak cocok.

Init

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Lakukan inisialisasi objek WeaveExchangeManager.

Selama masa aktif instance ini, metode ini dipanggil satu kali setelah konstruksi objek hingga panggilan ke Shutdown dilakukan untuk menghentikan instance.

Detail
Parameter
[in] msgLayer
Pointer ke objek WeaveMessageLayer.
Nilai yang Ditampilkan
WEAVE_ERROR_INCORRECT_STATE
Jika statusnya tidak sama dengan kState_NotInitialized.
WEAVE_NO_ERROR
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 konteks tertentu 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 peer tertentu yang ditentukan oleh ID node peer.

Detail
Parameter
[in] peerNodeId
ID node pembanding yang digunakan untuk menyiapkan ExchangeContext.
[in] appState
Pointer ke objek lapisan lebih tinggi yang menyimpan status konteks.
Hasil
Pointer ke objek ExchangeContext yang dibuat. Setelah berhasil. Sebaliknya, 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 lebih tinggi yang menyimpan status konteks.
Hasil
Pointer ke objek ExchangeContext yang dibuat. Setelah berhasil. 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 tertentu.

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 pada pertukaran ini.
[in] appState
Pointer ke objek lapisan lebih tinggi yang menyimpan status konteks.
Hasil
Pointer ke objek ExchangeContext yang dibuat. Setelah berhasil. 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 pada WeaveConnection yang ditentukan.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection yang mewakili koneksi TCP dengan peer.
[in] appState
Pointer ke objek lapisan lebih tinggi yang menyimpan status konteks.
Hasil
Pointer ke objek ExchangeContext yang dibuat. Setelah berhasil. 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 profil yang diberikan.

Detail
Parameter
[in] profileId
ID profil pada pesan yang diterima.
[in] handler
Pengendali pesan yang tidak diminta.
[in] appState
Pointer ke objek lapisan lebih tinggi yang menyimpan status konteks.
Nilai yang Ditampilkan
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan kumpulan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
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 profil yang diberikan.

Detail
Parameter
[in] profileId
ID profil pada 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 lebih tinggi yang menyimpan status konteks.
Nilai yang Ditampilkan
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan kumpulan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
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 pada pesan yang diterima.
[in] msgType
Jenis pesan profil yang sesuai.
[in] handler
Pengendali pesan yang tidak diminta.
[in] appState
Pointer ke objek lapisan lebih tinggi yang menyimpan status konteks.
Nilai yang Ditampilkan
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan kumpulan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
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 pada pesan yang diterima.
[in] msgType
Jenis pesan 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 lebih tinggi yang menyimpan status konteks.
Nilai yang Ditampilkan
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan kumpulan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
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 pada pesan yang diterima.
[in] msgType
Jenis pesan 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 lebih tinggi yang menyimpan status konteks.
Nilai yang Ditampilkan
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan kumpulan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
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 pada pesan yang diterima.
[in] msgType
Jenis pesan 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 pengenal profil tertentu, jenis pesan pada koneksi Weave yang ditentukan.
[in] appState
Pointer ke objek lapisan lebih tinggi yang menyimpan status konteks.
Nilai yang Ditampilkan
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jika kumpulan pengendali pesan yang tidak diminta sudah penuh dan kumpulan yang baru tidak dapat dialokasikan.
WEAVE_NO_ERROR
Berhasil.

Nonaktif

WEAVE_ERROR Shutdown(
  void
)

Matikan WeaveExchangeManager.

Tindakan 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 pada pesan yang diterima.
Nilai yang Ditampilkan
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jika pengendali pesan yang tidak diminta yang cocok tidak ditemukan.
WEAVE_NO_ERROR
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 pada pesan yang diterima.
[in] msgType
Jenis pesan profil yang sesuai.
Nilai yang Ditampilkan
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jika pengendali pesan yang tidak diminta yang cocok tidak ditemukan.
WEAVE_NO_ERROR
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 pada pesan yang diterima.
[in] msgType
Jenis pesan profil yang sesuai.
[in] con
Pointer ke objek WeaveConnection yang mewakili koneksi TCP dengan peer.
Nilai yang Ditampilkan
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jika pengendali pesan yang tidak diminta yang cocok tidak ditemukan.
WEAVE_NO_ERROR
Berhasil.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Konstruktor class WeaveExchangeManager.

Perintah ini menetapkan status ke kState_NotInitialized.