nl::Weave::WeaveMessageLayer

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

Definisi class WeaveMessageLayer, yang mengelola komunikasi dengan node Weave lainnya.

Ringkasan

Node ini menggunakan salah satu dari beberapa titik akhir InetLayer untuk membangun saluran komunikasi dengan node Weave lainnya.

Konstruktor dan Destruktor

WeaveMessageLayer(void)
Konstruktor lapisan Weave Message.

Jenis publik

AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err) typedef
void(*
Fungsi ini adalah callback lapisan yang lebih tinggi untuk melaporkan error selama menangani koneksi TCP yang masuk.
CallbackRemovedFunct)(void *listenerState) typedef
void(*
Fungsi ini dipanggil untuk menghapus callback.
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con) typedef
void(*
Fungsi ini adalah callback lapisan yang lebih tinggi untuk menangani koneksi TCP yang masuk.
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive) typedef
void(*
Fungsi ini adalah callback aplikasi untuk melaporkan perubahan aktivitas lapisan pesan.
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload) typedef
void(*
Fungsi ini adalah callback lapisan yang lebih tinggi yang dipanggil setelah menerima pesan Weave melalui UDP.
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) typedef
void(*
Fungsi ini adalah callback lapisan lebih tinggi yang dipanggil saat mengalami error.
State{
  kState_NotInitialized = 0,
  kState_Initializing = 1,
  kState_Initialized = 2
}
enum
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload) typedef
void(*
Fungsi ini merupakan callback lapisan yang lebih tinggi yang dipanggil setelah menerima paket Tunneled melalui tunnel UDP lokal.

Atribut publik

AppState
void *
Pointer ke objek status khusus aplikasi.
ExchangeMgr
[HANYA BACA] Objek WeaveExchangeManager terkait.
FabricState
[HANYA BACA] Objek WeaveFabricState terkait.
IncomingConIdleTimeout
uint32_t
Waktu tunggu tidak ada aktivitas default (dalam milidetik) untuk koneksi masuk.
Inet
InetLayer *
[HANYA BACA] Objek InetLayer terkait.
IsListening
bool
[HANYA BACA] True jika memproses koneksi/pesan masuk, false jika tidak.
OnAcceptError
OnConnectionReceived
OnMessageReceived
OnReceiveError
OnUDPTunneledMessageReceived
SecurityMgr
[HANYA BACA] Objek WeaveSecurityManager terkait.
State
uint8_t
[HANYA BACA] Status objek WeaveMessageLayer.
SystemLayer
mDropMessage
bool
Internal dan untuk Debug Saja; Jika ditetapkan, WeaveMessageLayer akan menghapus pesan dan mengembalikan.

Fungsi publik

ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
CloseEndpoints(void)
Tutup semua endpoint TCP dan UDP yang terbuka.
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
Membuat WeaveConnectionTunnel dengan menggabungkan dua WeaveConnections yang ditentukan.
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
Mendekode header lapisan Weave Message dari pesan Weave yang diterima.
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
Mengenkode header WeaveMessageLayer menjadi PacketBuffer.
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Mengenkode header lapisan Weave Message ke PacketBuffer.
EphemeralUDPPortEnabled(void) const
bool
Periksa apakah pertukaran UDP Weave yang dimulai secara lokal harus dikirim dari port sumber UDP efemeral.
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
void
Dapatkan jumlah WeaveConnections yang digunakan dan ukuran kolam.
IPv4ListenEnabled(void) const
bool
Periksa apakah WeaveMessageLayer dikonfigurasi untuk memproses komunikasi masuk melalui IPv4.
IPv6ListenEnabled(void) const
bool
Periksa apakah WeaveMessageLayer dikonfigurasi untuk memproses komunikasi masuk melalui IPv4.
Init(InitContext *context)
Lakukan inisialisasi objek lapisan Weave Message.
IsBoundToLocalIPv4Address(void) const
bool
Periksa apakah WeaveMessageLayer terikat ke alamat IPv4 lokal.
IsBoundToLocalIPv6Address(void) const
bool
Periksa apakah WeaveMessageLayer terikat ke alamat IPv6 lokal.
IsMessageLayerActive(void)
bool
NewConnection(void)
Buat objek WeaveConnection baru dari kumpulan.
NewConnectionTunnel(void)
Membuat objek WeaveConnectionTunnel baru dari sebuah kumpulan.
ReEncodeMessage(PacketBuffer *buf)
RefreshEndpoints(void)
Segarkan endpoint InetLayer berdasarkan status antarmuka jaringan sistem saat ini.
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kirim ulang pesan Weave yang dienkode menggunakan endpoint UDP Inetlayer yang mendasarinya.
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kirim ulang pesan Weave yang dienkode menggunakan endpoint UDP Inetlayer yang mendasarinya.
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kirim ulang pesan Weave yang dienkode menggunakan endpoint UDP Inetlayer yang mendasarinya.
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kirim ulang pesan Weave yang dienkode menggunakan endpoint UDP Inetlayer yang mendasarinya.
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kirim pesan Weave menggunakan endpoint UDP Inetlayer yang mendasarinya setelah mengenkodenya.
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kirim pesan Weave menggunakan endpoint UDP Inetlayer yang mendasarinya setelah mengenkodenya.
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kirim pesan Weave menggunakan endpoint UDP Inetlayer yang mendasarinya setelah mengenkodenya.
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Berfungsi untuk mengirim paket Tunneled melalui tunnel UDP lokal.
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
void
Menetapkan pengendali aplikasi yang akan dipanggil setiap kali aktivitas lapisan pesan berubah.
SetTCPListenEnabled(bool val)
void
Mengaktifkan atau menonaktifkan pemrosesan koneksi TCP masuk di WeaveMessageLayer.
SetUDPListenEnabled(bool val)
void
Mengaktifkan atau menonaktifkan pemrosesan pesan UDP masuk di WeaveMessageLayer.
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
Shutdown(void)
TCPListenEnabled(void) const
bool
Periksa apakah WeaveMessageLayer dikonfigurasi untuk memproses koneksi TCP masuk.
UDPListenEnabled(void) const
bool
Periksa apakah WeaveMessageLayer dikonfigurasi untuk memproses pesan UDP masuk.
UnsecuredListenEnabled(void) const
bool
Mengaktifkan atau menonaktifkan memulai pertukaran UDP Weave dari port sumber UDP efemeral.

Fungsi statis publik

GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
uint32_t
Mendapatkan ukuran payload Weave maksimum untuk konfigurasi pesan dan PacketBuffer yang disediakan.
GetPeerDescription(char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
void
Membuat string yang menjelaskan node peer dan informasi alamat / koneksi terkait.
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
void
Membuat string yang menjelaskan node peer berdasarkan informasi yang terkait dengan pesan yang diterima dari rekan.

Class

nl::Weave::WeaveMessageLayer::InitContext

Definisi class InitContext.

Jenis publik

AcceptErrorFunct

void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)

Fungsi ini adalah callback lapisan yang lebih tinggi untuk melaporkan error selama menangani koneksi TCP yang masuk.

Detail
Parameter
[in] msgLayer
Pointer ke objek WeaveMessageLayer.
[in] err
WEAVE_ERROR yang ditemukan saat menangani koneksi TCP yang masuk.

CallbackRemovedFunct

void(* CallbackRemovedFunct)(void *listenerState)

Fungsi ini dipanggil untuk menghapus callback.

Detail
Parameter
[in] listenerState
Pointer ke objek status aplikasi.

ConnectionReceiveFunct

void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)

Fungsi ini adalah callback lapisan yang lebih tinggi untuk menangani koneksi TCP yang masuk.

Detail
Parameter
[in] msgLayer
Pointer ke objek WeaveMessageLayer.
[in] con
Pointer ke objek WeaveConnection.

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

Fungsi ini adalah callback aplikasi untuk melaporkan perubahan aktivitas lapisan pesan.

Lapisan pesan dianggap aktif jika ada setidaknya satu permintaan pertukaran terbuka atau sinkronisasi penghitung pesan yang tertunda.

Detail
Parameter
[in] messageLayerIsActive
Nilai boolean yang menunjukkan apakah lapisan pesan aktif atau tidak.

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)

Fungsi ini adalah callback lapisan yang lebih tinggi yang dipanggil setelah menerima pesan Weave melalui UDP.

Detail
Parameter
[in] msgLayer
Pointer ke objek WeaveMessageLayer.
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] payload
Pointer ke pesan PacketBuffer yang berisi paket yang disalurkan yang diterima.

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)

Fungsi ini adalah callback lapisan lebih tinggi yang dipanggil saat mengalami error.

Detail
Parameter
[in] msgLayer
Pointer ke objek WeaveMessageLayer.
[in] err
Terjadi WEAVE_ERROR saat menerima data.
[in] pktInfo
Pointer hanya baca ke objek IPPacketInfo.

Negara Bagian

 State

Status WeaveMessageLayer.

Properti
kState_Initialized

Status saat WeaveMessageLayer diinisialisasi.

kState_Initializing

Status saat WeaveMessageLayer sedang dalam proses inisialisasi.

kState_NotInitialized

Status saat WeaveMessageLayer tidak diinisialisasi.

TunneledMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)

Fungsi ini merupakan callback lapisan yang lebih tinggi yang dipanggil setelah menerima paket Tunneled melalui tunnel UDP lokal.

Detail
Parameter
[in] msgLayer
Pointer ke objek WeaveMessageLayer.
[in] payload
Pointer ke pesan PacketBuffer yang berisi paket yang disalurkan yang diterima.

Atribut publik

AppState

void * AppState

Pointer ke objek status khusus aplikasi.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[HANYA BACA] Objek WeaveExchangeManager terkait.

FabricState

WeaveFabricState * FabricState

[HANYA BACA] Objek WeaveFabricState terkait.

IncomingConIdleTimeout

uint32_t IncomingConIdleTimeout

Waktu tunggu tidak ada aktivitas default (dalam milidetik) untuk koneksi masuk.

Inet

InetLayer * Inet

[HANYA BACA] Objek InetLayer terkait.

IsListening

bool IsListening

[HANYA BACA] True jika memproses koneksi/pesan masuk, false jika tidak.

OnAcceptError

AcceptErrorFunct OnAcceptError

OnConnectionReceived

ConnectionReceiveFunct OnConnectionReceived

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnUDPTunneledMessageReceived

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

SecurityMgr

WeaveSecurityManager * SecurityMgr

[HANYA BACA] Objek WeaveSecurityManager terkait.

Negara Bagian

uint8_t State

[HANYA BACA] Status objek WeaveMessageLayer.

SystemLayer

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

Internal dan untuk Debug Saja; Jika ditetapkan, WeaveMessageLayer akan menghapus pesan dan mengembalikan.

Fungsi publik

ClearUnsecuredConnectionListener

WEAVE_ERROR ClearUnsecuredConnectionListener(
  ConnectionReceiveFunct oldOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved
)

CloseEndpoints

WEAVE_ERROR CloseEndpoints(
  void
)

Tutup semua endpoint TCP dan UDP yang terbuka.

Kemudian, batalkan semua WeaveConnections yang terbuka dan nonaktifkan semua objek WeaveConnectionTunnel yang terbuka.

Lihat juga:
Shutdown().

CreateTunnel

WEAVE_ERROR CreateTunnel(
  WeaveConnectionTunnel **tunPtr,
  WeaveConnection & conOne,
  WeaveConnection & conTwo,
  uint32_t inactivityTimeoutMS
)

Membuat WeaveConnectionTunnel dengan menggabungkan dua WeaveConnections yang ditentukan.

Setelah berhasil dibuat, TCPEndPoints yang sesuai dengan objek WeaveConnection komponen akan diserahkan ke WeaveConnectionTunnel, jika tidak, WeaveConnections akan ditutup.

Detail
Parameter
[out] tunPtr
Pointer ke pointer objek WeaveConnectionTunnel.
[in] conOne
Referensi ke objek WeaveConnection pertama.
[in] conTwo
Referensi ke objek WeaveConnection kedua.
[in] inactivityTimeoutMS
Waktu maksimum dalam milidetik saat tunnel koneksi Weave dapat tidak ada aktivitas.
Nilai Pengembalian
WEAVE_NO_ERROR
pada pembuatan WeaveConnectionTunnel yang berhasil.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection komponen dari WeaveConnectionTunnel tidak dalam kondisi yang benar.
WEAVE_ERROR_NO_MEMORY
jika objek WeaveConnectionTunnel baru tidak dapat dibuat.

DecodeHeader

WEAVE_ERROR DecodeHeader(
  PacketBuffer *msgBuf,
  WeaveMessageInfo *msgInfo,
  uint8_t **payloadStart
)

Mendekode header lapisan Weave Message dari pesan Weave yang diterima.

Detail
Parameter
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan pesan Weave.
[in] msgInfo
Pointer ke objek WeaveMessageInfo yang akan menerima informasi tentang pesan.
[out] payloadStart
Pointer ke pointer ke posisi dalam buffering pesan setelah decoding selesai.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil mendekode header pesan.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
Jika buffer pesan yang diteruskan memiliki panjang yang tidak valid.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Jika versi format header Weave Message tidak didukung.

EncodeMessage

WEAVE_ERROR EncodeMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf,
  WeaveConnection *con,
  uint16_t maxLen,
  uint16_t reserve
)

Mengenkode header WeaveMessageLayer menjadi PacketBuffer.

Detail
Parameter
[in] msgInfo
Pointer ke objek WeaveMessageInfo yang berisi informasi tentang pesan yang akan dienkode.
[in] msgBuf
Pointer ke objek PacketBuffer yang akan menyimpan pesan Weave.
[in] con
Pointer ke objek WeaveConnection.
[in] maxLen
Panjang maksimum pesan Weave yang dienkode.
[in] reserve
Ruang yang dicadangkan sebelum payload untuk menyimpan header pesan Weave.
Nilai Pengembalian
WEAVE_NO_ERROR
pada proses encoding pesan yang berhasil.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
jika versi format header Weave Message tidak didukung.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
jika panjang {i>payload<i} dalam {i>buffer<i} pesan adalah nol.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
jika jenis enkripsi di header pesan tidak didukung.
WEAVE_ERROR_MESSAGE_TOO_LONG
jika pesan yang dienkode akan lebih panjang dari jumlah maksimum yang diminta.
WEAVE_ERROR_BUFFER_TOO_SMALL
jika tidak ada cukup ruang sebelum atau setelah payload pesan.
other
error yang dihasilkan oleh objek status fabric saat mengambil status sesi.

EncodeMessage

WEAVE_ERROR EncodeMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *payload
)

Mengenkode header lapisan Weave Message ke PacketBuffer.

Detail
Parameter
[in] destAddr
Alamat IP tujuan.
[in] destPort
Port tujuan.
[in] sendIntId
Antarmuka untuk mengirim pesan Weave.
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] payload
Pointer ke objek PacketBuffer yang akan menyimpan pesan Weave.
Nilai Pengembalian
WEAVE_NO_ERROR
pada pesan Weave yang berhasil dikodekan.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
jika versi Weave Message tidak didukung.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
jika panjang {i>payload<i} dalam {i>buffer<i} pesan adalah nol.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
jika jenis enkripsi tidak didukung.
WEAVE_ERROR_MESSAGE_TOO_LONG
jika pesan yang dienkode akan lebih panjang dari jumlah maksimum yang diminta.
WEAVE_ERROR_BUFFER_TOO_SMALL
jika tidak ada cukup ruang sebelum atau setelah payload pesan.
other
error yang dihasilkan oleh objek status fabric saat mengambil status sesi.

EphemeralUDPPortEnabled

bool EphemeralUDPPortEnabled(
  void
) const 

Periksa apakah pertukaran UDP Weave yang dimulai secara lokal harus dikirim dari port sumber UDP efemeral.

GetConnectionPoolStats

void GetConnectionPoolStats(
  nl::Weave::System::Stats::count_t & aOutInUse
) const 

Dapatkan jumlah WeaveConnections yang digunakan dan ukuran kolam.

Detail
Parameter
[out] aOutInUse
Referensi ke size_t, di mana jumlah koneksi yang digunakan disimpan.

IPv4ListenEnabled

bool IPv4ListenEnabled(
  void
) const 

Periksa apakah WeaveMessageLayer dikonfigurasi untuk memproses komunikasi masuk melalui IPv4.

IPv6ListenEnabled

bool IPv6ListenEnabled(
  void
) const 

Periksa apakah WeaveMessageLayer dikonfigurasi untuk memproses komunikasi masuk melalui IPv4.

Inisiasi

WEAVE_ERROR Init(
  InitContext *context
)

Lakukan inisialisasi objek lapisan Weave Message.

Detail
Parameter
[in] context
Pointer ke objek InitContext.
Nilai Pengembalian
WEAVE_NO_ERROR
pada inisialisasi yang berhasil.
WEAVE_ERROR_INVALID_ARGUMENT
jika objek InitContext yang diteruskan adalah NULL.
WEAVE_ERROR_INCORRECT_STATE
jika status objek WeaveMessageLayer salah.
other
yang dihasilkan dari lapisan Inet bawah selama pembuatan endpoint.

IsBoundToLocalIPv4Address

bool IsBoundToLocalIPv4Address(
  void
) const 

Periksa apakah WeaveMessageLayer terikat ke alamat IPv4 lokal.

IsBoundToLocalIPv6Address

bool IsBoundToLocalIPv6Address(
  void
) const 

Periksa apakah WeaveMessageLayer terikat ke alamat IPv6 lokal.

IsMessageLayerActive

bool IsMessageLayerActive(
  void
)

NewConnection

WeaveConnection * NewConnection(
  void
)

Buat objek WeaveConnection baru dari kumpulan.

Detail
Hasil
pointer ke objek WeaveConnection yang baru dibuat jika berhasil, jika tidak, akan NULL.

NewConnectionTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

Membuat objek WeaveConnectionTunnel baru dari sebuah kumpulan.

Detail
Hasil
pointer ke objek WeaveConnectionTunnel yang baru dibuat jika berhasil, jika tidak, akan menjadi NULL.

ReEncodeMessage

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

RefreshEndpoints

WEAVE_ERROR RefreshEndpoints(
  void
)

Segarkan endpoint InetLayer berdasarkan status antarmuka jaringan sistem saat ini.

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil memperbarui endpoint.
InetLayer
{i>error <i}berdasarkan panggilan untuk membuat endpoint TCP/UDP.

ResendMessage

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kirim ulang pesan Weave yang dienkode menggunakan endpoint UDP Inetlayer yang mendasarinya.

Detail
Parameter
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] payload
Pointer ke objek PacketBuffer yang menyimpan pesan Weave yang dienkode.
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil mengirim pesan ke lapisan jaringan.
errors
yang dihasilkan dari endpoint UDP lapisan Inet bawah selama pengiriman.

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kirim ulang pesan Weave yang dienkode menggunakan endpoint UDP Inetlayer yang mendasarinya.

Detail
Parameter
[in] destAddr
Alamat IP tujuan.
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] payload
Pointer ke objek PacketBuffer yang menyimpan pesan Weave yang dienkode.
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil mengirim pesan ke lapisan jaringan.
errors
yang dihasilkan dari endpoint UDP lapisan Inet bawah selama pengiriman.

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kirim ulang pesan Weave yang dienkode menggunakan endpoint UDP Inetlayer yang mendasarinya.

Detail
Parameter
[in] destAddr
Alamat IP tujuan.
[in] destPort
Port tujuan.
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] payload
Pointer ke objek PacketBuffer yang menyimpan pesan Weave yang dienkode.
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil mengirim pesan ke lapisan jaringan.
errors
yang dihasilkan dari endpoint UDP lapisan Inet bawah selama pengiriman.

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId interfaceId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kirim ulang pesan Weave yang dienkode menggunakan endpoint UDP Inetlayer yang mendasarinya.

Catatan:-Jika alamat tujuan belum diberikan, coba tentukan dari ID node di header pesan. Gagal jika hal ini tidak dapat dilakukan. -Jika alamat tujuan adalah alamat kain untuk kain lokal, dan pemanggil tidak menentukan ID node tujuan, ekstrak dari alamat tujuan.

Detail
Parameter
[in] aDestAddr
Alamat IP tujuan.
[in] destPort
Port tujuan.
[in] interfaceId
Antarmuka untuk mengirim pesan Weave.
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] payload
Pointer ke objek PacketBuffer yang menyimpan pesan Weave yang dienkode.
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil mengirim pesan ke lapisan jaringan.
errors
yang dihasilkan dari endpoint UDP lapisan Inet bawah selama pengiriman.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kirim pesan Weave menggunakan endpoint UDP Inetlayer yang mendasarinya setelah mengenkodenya.

Detail
Parameter
[in] msgInfo
Pointer ke objek WeaveMessageInfo yang berisi informasi tentang pesan yang akan dikirim.
[in] payload
Pointer ke objek PacketBuffer yang menyimpan pesan Weave yang dienkode.
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil mengirim pesan ke lapisan jaringan.
errors
yang dihasilkan dari endpoint UDP lapisan Inet bawah selama pengiriman.

SendMessage

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kirim pesan Weave menggunakan endpoint UDP Inetlayer yang mendasarinya setelah mengenkodenya.

Catatan:-Port tujuan yang digunakan adalah WEAVE_PORT. -Jika alamat tujuan belum diberikan, cobalah untuk menentukannya dari ID node di header pesan. Gagal jika hal ini tidak dapat dilakukan.

-Jika alamat tujuan adalah alamat kain untuk kain lokal, dan pemanggil tidak menentukan ID node tujuan, ekstrak dari alamat tujuan.

Detail
Parameter
[in] destAddr
Alamat IP tujuan.
[in] msgInfo
Pointer ke objek WeaveMessageInfo yang berisi informasi tentang pesan yang akan dikirim.
[in] payload
Pointer ke objek PacketBuffer yang menyimpan pesan Weave yang dienkode.
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil mengirim pesan ke lapisan jaringan.
errors
yang dihasilkan dari endpoint UDP lapisan Inet bawah selama pengiriman.

SendMessage

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntfId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kirim pesan Weave menggunakan endpoint UDP Inetlayer yang mendasarinya setelah mengenkodenya.

Catatan:-Jika alamat tujuan belum diberikan, coba tentukan dari ID node di header pesan. Gagal jika hal ini tidak dapat dilakukan. -Jika alamat tujuan adalah alamat kain untuk kain lokal, dan pemanggil tidak menentukan ID node tujuan, ekstrak dari alamat tujuan.

Detail
Parameter
[in] aDestAddr
Alamat IP tujuan.
[in] destPort
Port tujuan.
[in] sendIntfId
Antarmuka untuk mengirim pesan Weave.
[in] msgInfo
Pointer ke objek WeaveMessageInfo yang berisi informasi tentang pesan yang akan dikirim.
[in] payload
Pointer ke objek PacketBuffer yang menyimpan pesan Weave yang dienkode.
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil mengirim pesan ke lapisan jaringan.
WEAVE_ERROR_INVALID_ADDRESS
jika destAddr tidak ditentukan atau tidak dapat ditentukan dari ID node tujuan.
errors
yang dihasilkan dari endpoint UDP lapisan Inet bawah selama pengiriman.

SendUDPTunneledMessage

WEAVE_ERROR SendUDPTunneledMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Berfungsi untuk mengirim paket Tunneled melalui tunnel UDP lokal.

Mengirim pesan data IPv6 yang disalurkan melalui UDP.

Detail
Parameter
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] destAddr
IPAddress dari tujuan tunnel UDP.
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan paket yang akan dikirim.
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil mengirim pesan ke lapisan jaringan.
WEAVE_ERROR_INVALID_ADDRESS
jika destAddr tidak ditentukan atau tidak dapat ditentukan dari ID node tujuan.
errors
yang dihasilkan dari endpoint UDP lapisan Inet bawah selama pengiriman.

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

Menetapkan pengendali aplikasi yang akan dipanggil setiap kali aktivitas lapisan pesan berubah.

Secara khusus, pendaftaran akan diberi tahu setiap saat:

  • jumlah perubahan pertukaran yang terjadi.
  • jumlah permintaan sinkronisasi penghitung pesan yang tertunda berubah dari nol menjadi setidaknya satu, dan kembali ke nol. Pengendali ditayangkan sebagai sinyal umum yang menunjukkan apakah ada percakapan Weave yang sedang berlangsung atau respons yang tertunda. Pengendali harus ditetapkan setelah WeaveMessageLayer diinisialisasi. Menonaktifkan WeaveMessageLayer akan menghapus pengendali saat ini.

Detail
Parameter
[in] messageLayerActivityChangeHandler
Pointer ke fungsi yang akan dipanggil setiap kali aktivitas lapisan pesan berubah.
Nilai Pengembalian
None.

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

Mengaktifkan atau menonaktifkan pemrosesan koneksi TCP masuk di WeaveMessageLayer.

CATATAN: RefreshEndpoints() harus dipanggil setelah status pemrosesan TCP berubah.

SetUDPListenEnabled

void SetUDPListenEnabled(
  bool val
)

Mengaktifkan atau menonaktifkan pemrosesan pesan UDP masuk di WeaveMessageLayer.

CATATAN: RefreshEndpoints() harus dipanggil setelah status pemrosesan UDP diubah.

SetUnsecuredConnectionListener

WEAVE_ERROR SetUnsecuredConnectionListener(
  ConnectionReceiveFunct newOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved,
  bool force,
  void *listenerState
)

Nonaktif

WEAVE_ERROR Shutdown(
  void
)

Matikan WeaveMessageLayer.

Tutup semua endpoint lapisan Inet yang terbuka, reset semua callback lapisan yang lebih tinggi, variabel anggota, dan objek. Panggilan ke Shutdown() akan menghentikan objek WeaveMessageLayer.

TCPListenEnabled

bool TCPListenEnabled(
  void
) const 

Periksa apakah WeaveMessageLayer dikonfigurasi untuk memproses koneksi TCP masuk.

UDPListenEnabled

bool UDPListenEnabled(
  void
) const 

Periksa apakah WeaveMessageLayer dikonfigurasi untuk memproses pesan UDP masuk.

UnsecuredListenEnabled

bool UnsecuredListenEnabled(
  void
) const 

Mengaktifkan atau menonaktifkan memulai pertukaran UDP Weave dari port sumber UDP efemeral.

CATATAN: RefreshEndpoints() harus dipanggil setelah status port sementara diubah. Periksa apakah fitur mendengarkan tidak aman diaktifkan.

WeaveMessageLayer

 WeaveMessageLayer(
  void
)

Konstruktor lapisan Weave Message.

Fungsi statis publik

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const PacketBuffer *msgBuf,
  bool isUDP,
  uint32_t udpMTU
)

Mendapatkan ukuran payload Weave maksimum untuk konfigurasi pesan dan PacketBuffer yang disediakan.

Ukuran payload maksimum yang ditampilkan tidak akan melebihi ruang yang tersedia untuk payload di dalam PacketBuffer yang disediakan.

Jika pesan berupa UDP, ukuran payload maksimum yang ditampilkan tidak akan menghasilkan pesan Weave yang tidak akan melebihi MTU UDP yang ditetapkan.

Terakhir, ukuran payload maksimum yang ditampilkan tidak akan menghasilkan pesan Weave yang melebihi ukuran pesan Weave maksimum.

Detail
Parameter
[in] msgBuf
Pointer ke PacketBuffer tempat payload pesan akan ditulis.
[in] isUDP
True jika pesan merupakan pesan UDP.
[in] udpMTU
Ukuran UDP MTU. Diabaikan jika isUDP bernilai false.
Hasil
ukuran maksimal {i>payload<i} Weave.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  InterfaceId interfaceId,
  const WeaveConnection *con
)

Membuat string yang menjelaskan node peer dan informasi alamat / koneksi terkait.

String yang dihasilkan memiliki format berikut:

 ([]:%, con )

Detail
Parameter
[in] buf
Pointer ke buffer tempat string harus ditulis. Buffer yang disediakan minimal harus sebesar kWeavePeerDescription_MaxLength. Jika buffer yang diberikan lebih kecil, string akan dipotong agar sesuai. Output-nya akan menyertakan karakter penghentian NUL dalam semua kasus.
[in] bufSize
Ukuran buffer yang ditunjuk oleh buf.
[in] nodeId
ID node yang akan dicetak.
[in] addr
Penunjuk ke alamat IP yang akan dicetak; atau NULL jika tidak ada alamat IP yang harus dicetak.
[in] port
Nomor port IP yang akan dicetak. Tidak ada nomor port yang akan dicetak jika addr adalah NULL.
[in] interfaceId
InterfaceId yang mengidentifikasi antarmuka yang akan dicetak. String output akan berisi nama antarmuka yang dikenal oleh stack jaringan yang mendasarinya. Tidak ada nama antarmuka yang akan dicetak jika interfaceId adalah INET_NULL_INTERFACEID atau jika addr adalah NULL.
[in] con
Pointer ke objek WeaveConnection yang ID logging-nya harus dicetak; atau NULL jika tidak ada ID koneksi yang harus dicetak.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  const WeaveMessageInfo *msgInfo
)

Membuat string yang menjelaskan node peer berdasarkan informasi yang terkait dengan pesan yang diterima dari rekan.

Detail
Parameter
[in] buf
Pointer ke buffer tempat string harus ditulis. Buffer yang disediakan minimal harus sebesar kWeavePeerDescription_MaxLength. Jika buffer yang diberikan lebih kecil, string akan dipotong agar sesuai. Output-nya akan menyertakan karakter penghentian NUL dalam semua kasus.
[in] bufSize
Ukuran buffer yang ditunjuk oleh buf.
[in] msgInfo
Pointer ke struktur WeaveMessageInfo yang berisi informasi tentang pesan.