nl::Weave::ExchangeContext

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

Class ini merepresentasikan percakapan yang sedang berlangsung (ExchangeContext) antara dua node atau lebih.

Ringkasan

Library ini menentukan metode untuk mengenkode dan mengomunikasikan pesan Weave dalam ExchangeContext melalui berbagai mekanisme transpor, misalnya TCP, UDP, atau Weave Reliable Messaging.

Jenis publik

@34{
  kSendFlag_AutoRetrans = 0x0001,
  kSendFlag_ExpectResponse = 0x0002,
  kSendFlag_RetransmissionTrickle = 0x0004,
  kSendFlag_DelaySend = 0x0008,
  kSendFlag_ReuseMessageId = 0x0010,
  kSendFlag_ReuseSourceId = 0x0020,
  kSendFlag_RetainBuffer = 0x0040,
  kSendFlag_AlreadyEncoded = 0x0080,
  kSendFlag_DefaultMulticastSourceAddress = 0x0100,
  kSendFlag_FromInitiator = 0x0200,
  kSendFlag_RequestAck = 0x0400,
  kSendFlag_NoAutoRequestAck = 0x0800,
  kSendFlag_MulticastFromLinkLocal = kSendFlag_DefaultMulticastSourceAddress
}
enum
@35{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Fungsi ini adalah callback aplikasi yang akan dipanggil ketika koneksi Weave yang ada telah ditutup.
KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr) typedef
void(*
Jenis fungsi penanganan pesan error kunci.
MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload) typedef
void(*
Fungsi ini adalah callback aplikasi untuk menangani pesan Weave yang diterima.
ResponseTimeoutFunct)(ExchangeContext *ec) typedef
void(*
Fungsi ini adalah callback aplikasi yang akan dipanggil saat waktu tunggu untuk penerimaan pesan respons telah berakhir.
RetransmissionTimeoutFunct)(ExchangeContext *ec) typedef
void(*
Fungsi ini adalah callback aplikasi yang akan dipanggil saat waktu tunggu untuk transmisi ulang pesan yang dikirim sebelumnya telah berakhir.
Timeout typedef
uint32_t
Jenis yang digunakan untuk menyatakan waktu tunggu dalam ExchangeContext ini, dalam milidetik.
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt) typedef
void(*
Fungsi ini adalah callback aplikasi yang akan dipanggil saat Konfirmasi diterima untuk pesan Weave yang memintanya sebagai bagian dari Weave Reliable Messaging Protocol.
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime) typedef
void(*
Fungsi ini adalah callback aplikasi yang akan dipanggil saat pesan Throttle atau pesan Tertunda Pengiriman diterima sebagai bagian dari Weave Reliable Messaging Protocol.
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt) typedef
void(*
Fungsi ini adalah callback aplikasi yang akan dipanggil ketika terjadi error saat mengirim pesan Weave.

Atribut publik

AllowDuplicateMsgs
bool
Indikator Boolean tentang apakah pesan duplikat diizinkan untuk pertukaran tertentu.
AppState
void *
Pointer ke objek status khusus aplikasi.
Con
[HANYA BACA] Koneksi Weave Terkait.
EncryptionType
uint8_t
Jenis enkripsi yang akan digunakan saat mengirim pesan.
ExchangeId
uint16_t
[HANYA BACA] ID bursa yang ditetapkan.
ExchangeMgr
[HANYA BACA] Memiliki pengelola bursa.
KeyId
uint16_t
Kunci enkripsi yang akan digunakan saat mengirim pesan.
OnAckRcvd
Callback aplikasi untuk konfirmasi yang diterima.
OnConnectionClosed
OnDDRcvd
Callback aplikasi untuk pesan Pengiriman Tertunda yang diterima.
OnKeyError
Fungsi ini adalah callback aplikasi yang akan dipanggil ketika pesan error kunci telah diterima dari peer.
OnMessageReceived
OnResponseTimeout
OnRetransmissionTimeout
OnSendError
Callback aplikasi untuk error saat mengirim.
OnThrottleRcvd
Callback aplikasi untuk pesan Throttle yang diterima.
PeerAddr
IPAddress
[HANYA BACA] Alamat IP node pembanding.
PeerIntf
InterfaceId
[HANYA BACA] Antarmuka keluar yang akan digunakan ketika mengirim pesan ke pembanding.
PeerNodeId
uint64_t
[HANYA BACA] ID Node dari node peer.
PeerPort
uint16_t
[HANYA BACA] Port node peer.
ResponseTimeout
Waktu tunggu maksimum untuk respons (dalam milidetik); 0 menonaktifkan waktu tunggu respons.
RetransInterval
uint32_t
Waktu antarpengiriman ulang (dalam milidetik); 0 menonaktifkan transmisi ulang.
mMsgProtocolVersion
uint16_t
Versi Message Protocol untuk ExchangeContext.
mWRMPConfig
konfigurasi WRMP.

Fungsi publik

Abort(void)
void
Segera batalkan konteks Exchange dan lepaskan semua referensi ke konteks tersebut.
AddRef(void)
void
Menambahkan penghitung referensi untuk konteks pertukaran satu per satu.
AutoRequestAck() const
bool
Menampilkan apakah konfirmasi akan diminta setiap kali pesan dikirim.
CancelRetrans(void)
void
Batalkan mekanisme transmisi ulang Trickle.
Close(void)
void
Menutup konteks pertukaran dengan baik.
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
Mengenkode header pertukaran ke dalam buffer pesan.
GetAutoReleaseKey() const
bool
Mengembalikan apakah kunci enkripsi yang terkait dengan pertukaran harus dilepaskan saat pertukaran dibebaskan.
GetCurrentRetransmitTimeout(void)
uint32_t
Dapatkan waktu tunggu pengiriman ulang saat ini.
GetPeerDescription(char *buf, uint32_t bufSize) const
void
Membuat string yang mendeskripsikan node peer dan informasi alamat / koneksi terkait.
HandleTrickleMessage(const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
void
Tangani pesan sedikit dalam konteks pertukaran.
HasPeerRequestedAck(void) const
bool
Menentukan apakah rekan meminta konfirmasi untuk setidaknya satu pesan pada pertukaran ini.
HasRcvdMsgFromPeer(void) const
bool
Menentukan apakah setidaknya satu pesan telah diterima dari pertukaran ini pada pertukaran ini.
IsAckPending(void) const
bool
Tentukan apakah sudah ada konfirmasi yang tertunda untuk dikirim ke rekan pada pertukaran ini.
IsConnectionClosed(void) const
bool
Tentukan apakah ExchangeContext memiliki WeaveConnection aktif terkait.
IsInitiator(void) const
bool
Tentukan apakah konteksnya adalah inisiator pertukaran.
IsResponseExpected(void) const
bool
Tentukan apakah respons diharapkan untuk pesan yang dikirim melalui pertukaran ini.
Release(void)
void
Referensi rilis ke konteks pertukaran ini.
SendCommonNullMessage(void)
Mengirim pesan Umum::Null.
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
Kirim pesan Weave di bursa ini.
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
Kirim pesan Weave di bursa ini.
SetAckPending(bool inAckPending)
void
Tetapkan jika konfirmasi perlu dikirim kembali ke rekan pada pertukaran ini.
SetAutoReleaseKey(bool autoReleaseKey)
void
Menyetel apakah kunci enkripsi yang terkait dengan pertukaran harus dilepaskan saat pertukaran dibebaskan.
SetAutoRequestAck(bool autoReqAck)
void
Menyetel apakah konfirmasi harus diminta setiap kali pesan dikirim.
SetConnectionClosed(bool inConnectionClosed)
void
Tetapkan bit flag kFlagConnectionClosed.
SetDropAck(bool inDropAck)
void
Tetapkan apakah WeaveExchangeManager tidak boleh mengirim konfirmasi untuk konteks ini.
SetInitiator(bool inInitiator)
void
Setel bit flag kFlagInitiator.
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
void
Menetapkan jika pesan telah diterima dari pembanding di bursa ini.
SetPeerRequestedAck(bool inPeerRequestedAck)
void
Ditetapkan jika konfirmasi diminta pada pesan terakhir yang diterima di pertukaran ini.
SetResponseExpected(bool inResponseExpected)
void
Tetapkan apakah respons diharapkan pada bursa ini.
SetShouldAutoReleaseConnection(bool autoReleaseCon)
void
Menyetel apakah koneksi Weave yang terkait dengan pertukaran harus dilepaskan saat pertukaran dibebaskan.
SetupTrickleRetransmit(uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
Siapkan mekanisme transmisi ulang tetesan dengan menyetel interval transmisi ulang dan ambang batas siaran ulang yang sesuai.
ShouldAutoReleaseConnection() const
bool
Mengembalikan apakah koneksi Weave yang terkait dengan pertukaran harus dilepaskan saat pertukaran dibebaskan.
ShouldDropAck(void) const
bool
Tentukan apakah WeaveExchangeManager tidak boleh mengirim konfirmasi.
StartTimerT(void)
Mulai mekanisme timer transmisi ulang berkala algoritma Trickle.
TeardownTrickleRetransmit(void)
void
Membongkar mekanisme transmisi ulang Trickle dengan membatalkan timer berkala di Trickle dan mengosongkan buffer pesan yang menyimpan pesan Weave.
UseEphemeralUDPPort(void) const
bool
Menampilkan apakah pesan keluar yang dikirim melalui pertukaran harus dikirim dari port UDP efemeral lokal.
WRMPFlushAcks(void)
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
Mengirim pesan Pengiriman Tertunda untuk memberi tahu node pengirim bahwa pesan yang sebelumnya dikirim akan mengalami penundaan sebelum dikirim ke penerima.
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
Mengirim pesan Alur Pembatasan ke node pembanding untuk memintanya membatasi pengiriman pesan.

Jenis publik

@34

 @34
Properti
kSendFlag_AlreadyEncoded

Digunakan untuk menunjukkan bahwa pesan sudah dienkode.

kSendFlag_AutoRetrans

Digunakan untuk menunjukkan bahwa transmisi ulang otomatis diaktifkan.

kSendFlag_DefaultMulticastSourceAddress

Digunakan untuk menunjukkan bahwa pemilihan alamat sumber IPv6 default harus digunakan saat mengirim pesan multicast IPv6.

kSendFlag_DelaySend

Digunakan untuk menunjukkan bahwa pengiriman pesan saat ini perlu ditunda.

kSendFlag_ExpectResponse

Digunakan untuk menunjukkan bahwa respons diharapkan dalam waktu tunggu yang ditentukan.

kSendFlag_FromInitiator

Digunakan untuk menunjukkan bahwa pesan saat ini adalah inisiator pertukaran.

kSendFlag_MulticastFromLinkLocal

Alias yang tidak digunakan lagi untuk kSendFlag_DefaultMulticastSourceAddress.

kSendFlag_NoAutoRequestAck

Sembunyikan fitur konfirmasi permintaan otomatis saat mengirim pesan.

kSendFlag_RequestAck

Digunakan untuk mengirim pesan WRM yang meminta {i>acknowledgment<i}.

kSendFlag_RetainBuffer

Digunakan untuk menunjukkan bahwa buffer pesan tidak boleh dikosongkan setelah pengiriman.

kSendFlag_RetransmissionTrickle

Digunakan untuk menunjukkan persyaratan transmisi ulang untuk Trickle.

kSendFlag_ReuseMessageId

Digunakan untuk menunjukkan bahwa ID pesan di header pesan dapat digunakan kembali.

kSendFlag_ReuseSourceId

Digunakan untuk menunjukkan bahwa ID node sumber di header pesan dapat digunakan kembali.

@35

 @35
Properti
kGetPeerDescription_MaxLength

Panjang string maksimum (termasuk karakter NUL) yang ditampilkan oleh GetPeerDescription().

ConnectionClosedFunct

void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)

Fungsi ini adalah callback aplikasi yang akan dipanggil ketika koneksi Weave yang ada telah ditutup.

Detail
Parameter
[in] ec
Pointer ke objek ExchangeContext.
[in] con
Pointer ke objek WeaveConnection.
[in] conErr
Jenis WEAVE_ERROR yang dilaporkan saat koneksi ditutup.

KeyErrorFunct

void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)

Jenis fungsi penanganan pesan error kunci.

Detail
Parameter
[in] ec
Pointer ke objek ExchangeContext.
[in] keyErr
Jenis WEAVE_ERROR yang dilaporkan dalam pesan error utama.

MessageReceiveFunct

void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)

Fungsi ini adalah callback aplikasi untuk menangani pesan Weave yang diterima.

Detail
Parameter
[in] ec
Pointer ke objek ExchangeContext.
[in] pktInfo
Pointer ke objek IPPacketInfo.
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] profileId
ID profil pada pesan yang diterima.
[in] msgType
Jenis pesan profil yang sesuai.
[in] payload
Pointer ke objek PacketBuffer yang menyimpan payload pesan.

ResponseTimeoutFunct

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

Fungsi ini adalah callback aplikasi yang akan dipanggil saat waktu tunggu untuk penerimaan pesan respons telah berakhir.

Detail
Parameter
[in] ec
Pointer ke objek ExchangeContext.

RetransmissionTimeoutFunct

void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)

Fungsi ini adalah callback aplikasi yang akan dipanggil saat waktu tunggu untuk transmisi ulang pesan yang dikirim sebelumnya telah berakhir.

Detail
Parameter
[in] ec
Pointer ke objek ExchangeContext.

Waktu habis

uint32_t Timeout

Jenis yang digunakan untuk menyatakan waktu tunggu dalam ExchangeContext ini, dalam milidetik.

WRMPAckRcvdFunct

void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)

Fungsi ini adalah callback aplikasi yang akan dipanggil saat Konfirmasi diterima untuk pesan Weave yang memintanya sebagai bagian dari Weave Reliable Messaging Protocol.

Detail
Parameter
[in] ec
Pointer ke objek ExchangeContext.
[in] msgCtxt
Pointer ke beberapa objek konteks tertentu yang terkait dengan pesan asli yang dikonfirmasi.

WRMPPauseRcvdFunct

void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)

Fungsi ini adalah callback aplikasi yang akan dipanggil saat pesan Throttle atau pesan Tertunda Pengiriman diterima sebagai bagian dari Weave Reliable Messaging Protocol.

Setiap pesan ini disertai dengan nilai waktu (dalam milidetik) yang menandakan waktu untuk menjeda pengiriman pesan Weave pada ExchangeContext ini.

Detail
Parameter
[in] ec
Pointer ke objek ExchangeContext.
[in] pauseTime
Waktu jeda transmisi (dalam milidetik).

WRMPSendErrorFunct

void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)

Fungsi ini adalah callback aplikasi yang akan dipanggil ketika terjadi error saat mengirim pesan Weave.

Detail
Parameter
[in] ec
Pointer ke objek ExchangeContext.
[in] err
Jenis WEAVE_ERROR yang ditemukan selama pengiriman pesan.
[in] msgCtxt
Pointer ke beberapa objek konteks tertentu yang terkait dengan pesan asli yang dilaporkan.

Atribut publik

AllowDuplicateMsgs

bool AllowDuplicateMsgs

Indikator Boolean tentang apakah pesan duplikat diizinkan untuk pertukaran tertentu.

AppState

void * AppState

Pointer ke objek status khusus aplikasi.

Kekurangan

WeaveConnection * Con

[HANYA BACA] Koneksi Weave Terkait.

EncryptionType

uint8_t EncryptionType

Jenis enkripsi yang akan digunakan saat mengirim pesan.

ExchangeId

uint16_t ExchangeId

[HANYA BACA] ID bursa yang ditetapkan.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[HANYA BACA] Memiliki pengelola bursa.

KeyId

uint16_t KeyId

Kunci enkripsi yang akan digunakan saat mengirim pesan.

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

Callback aplikasi untuk konfirmasi yang diterima.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

Callback aplikasi untuk pesan Pengiriman Tertunda yang diterima.

OnKeyError

KeyErrorFunct OnKeyError

Fungsi ini adalah callback aplikasi yang akan dipanggil ketika pesan error kunci telah diterima dari peer.

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

OnRetransmissionTimeout

RetransmissionTimeoutFunct OnRetransmissionTimeout

OnSendError

WRMPSendErrorFunct OnSendError

Callback aplikasi untuk error saat mengirim.

OnThrottleRcvd

WRMPPauseRcvdFunct OnThrottleRcvd

Callback aplikasi untuk pesan Throttle yang diterima.

PeerAddr

IPAddress PeerAddr

[HANYA BACA] Alamat IP node pembanding.

PeerIntf

InterfaceId PeerIntf

[HANYA BACA] Antarmuka keluar yang akan digunakan ketika mengirim pesan ke pembanding.

(Hanya berguna untuk UDP.)

PeerNodeId

uint64_t PeerNodeId

[HANYA BACA] ID Node dari node peer.

PeerPort

uint16_t PeerPort

[HANYA BACA] Port node peer.

ResponseTimeout

Timeout ResponseTimeout

Waktu tunggu maksimum untuk respons (dalam milidetik); 0 menonaktifkan waktu tunggu respons.

RetransInterval

uint32_t RetransInterval

Waktu antarpengiriman ulang (dalam milidetik); 0 menonaktifkan transmisi ulang.

mMsgProtocolVersion

uint16_t mMsgProtocolVersion

Versi Message Protocol untuk ExchangeContext.

mWRMPConfig

WRMPConfig mWRMPConfig

konfigurasi WRMP.

Fungsi publik

Batalkan

void Abort(
  void
)

Segera batalkan konteks Exchange dan lepaskan semua referensi ke konteks tersebut.

AddRef

void AddRef(
  void
)

Menambahkan penghitung referensi untuk konteks pertukaran satu per satu.

AutoRequestAck

bool AutoRequestAck() const 

Menampilkan apakah konfirmasi akan diminta setiap kali pesan dikirim.

CancelRetrans

void CancelRetrans(
  void
)

Batalkan mekanisme transmisi ulang Trickle.

Tutup

void Close(
  void
)

Menutup konteks pertukaran dengan baik.

Panggilan ini akan mengurangi jumlah referensi dan melepaskan pertukaran saat jumlah referensi mencapai nol.

EncodeExchHeader

WEAVE_ERROR EncodeExchHeader(
  WeaveExchangeHeader *exchangeHeader,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags
)

Mengenkode header pertukaran ke dalam buffer pesan.

Detail
Parameter
[in] exchangeHeader
Pointer ke objek header Weave Exchange.
[in] profileId
ID profil pesan Weave yang akan dikirim.
[in] msgType
Jenis pesan profil yang sesuai.
[in] msgBuf
Pointer ke PacketBuffer yang diperlukan untuk pesan Weave.
[in] sendFlags
Tanda yang ditetapkan oleh aplikasi untuk pesan Weave yang dikirim.
Nilai yang Ditampilkan
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika buffer pesan tidak memiliki cukup ruang untuk mengenkode header pertukaran.
WEAVE_NO_ERROR
Jika encoding pesan berhasil.

GetAutoReleaseKey

bool GetAutoReleaseKey() const 

Mengembalikan apakah kunci enkripsi yang terkait dengan pertukaran harus dilepaskan saat pertukaran dibebaskan.

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

Dapatkan waktu tunggu pengiriman ulang saat ini.

Hal ini dapat berupa waktu tunggu pengiriman ulang awal atau aktif berdasarkan apakah ExchangeContext memiliki pertukaran pesan aktif yang terjadi dengan pembandingnya.

Detail
Hasil
waktu transmisi ulang saat ini.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

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

Detail
Parameter
[in] buf
Pointer ke buffer tempat string harus ditulis. Buffer yang disediakan harus berukuran minimal sebesar kGetPeerDescription_MaxLength. Jika buffer yang lebih kecil diberikan, string akan dipotong agar pas. Output-nya akan mencakup karakter penghentian NUL dalam semua kasus.
[in] bufSize
Ukuran buffer yang ditunjuk oleh buf.

HandleTrickleMessage

void HandleTrickleMessage(
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo
)

Tangani pesan sedikit dalam konteks pertukaran.

Detail
Parameter
[in] pktInfo
Pointer ke objek IPPacketInfo.
[in] msgInfo
Pointer ke struktur info pesan Weave.

HasPeerRequestedAck

bool HasPeerRequestedAck(
  void
) const 

Menentukan apakah rekan meminta konfirmasi untuk setidaknya satu pesan pada pertukaran ini.

Detail
Hasil
Menampilkan 'true' jika konfirmasi diminta, lainnya 'false'.

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

Menentukan apakah setidaknya satu pesan telah diterima dari pertukaran ini pada pertukaran ini.

Detail
Hasil
Menampilkan 'true' jika pesan diterima, pilih 'false'.

IsAckPending

bool IsAckPending(
  void
) const 

Tentukan apakah sudah ada konfirmasi yang tertunda untuk dikirim ke rekan pada pertukaran ini.

IsConnectionClosed

bool IsConnectionClosed(
  void
) const 

Tentukan apakah ExchangeContext memiliki WeaveConnection aktif terkait.

Detail
Hasil
Menampilkan 'true' jika koneksi ditutup, jika tidak 'false'.

IsInitiator

bool IsInitiator(
  void
) const 

Tentukan apakah konteksnya adalah inisiator pertukaran.

Detail
Hasil
Menampilkan 'true' jika ini adalah inisiator, jika tidak, 'false'.

IsResponseExpected

bool IsResponseExpected(
  void
) const 

Tentukan apakah respons diharapkan untuk pesan yang dikirim melalui pertukaran ini.

Detail
Hasil
Menampilkan 'true' jika respons diharapkan, jika tidak 'false'.

Rilis

void Release(
  void
)

Referensi rilis ke konteks pertukaran ini.

Jika jumlahnya berkurang satu, tutup konteks, reset semua callback aplikasi, dan hentikan semua timer.

SendCommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

Mengirim pesan Umum::Null.

Detail
Nilai yang Ditampilkan
WEAVE_ERROR_NO_MEMORY
Jika tidak ada PacketBuffers yang tersedia.
WEAVE_NO_ERROR
Jika metode berhasil atau error tidak kritis.
other
Error kritis lainnya yang ditampilkan oleh SendMessage().

SendMessage

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgPayload,
  uint16_t sendFlags,
  void *msgCtxt
)

Kirim pesan Weave di bursa ini.

Detail
Parameter
[in] profileId
ID profil pesan Weave yang akan dikirim.
[in] msgType
Jenis pesan profil yang sesuai.
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan pesan Weave.
[in] sendFlags
Tanda yang ditetapkan oleh aplikasi untuk pesan Weave yang dikirim.
[in] msgCtxt
Pointer ke objek konteks khusus aplikasi yang akan dikaitkan dengan pesan yang dikirim.
Nilai yang Ditampilkan
WEAVE_ERROR_INVALID_ARGUMENT
jika argumen yang tidak valid diteruskan ke SendMessage API ini.
WEAVE_ERROR_SEND_THROTTLED
jika konteks pertukaran ini telah dibatasi saat menggunakan protokol pesan tepercaya Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
jika ada ketidakcocokan dalam operasi pengiriman tertentu dan versi protokol pesan Weave yang didukung. Misalnya, error ini akan dihasilkan jika semantik Weave Reliable Messaging sedang dicoba saat versi protokol pesan Weave adalah V1.
WEAVE_ERROR_NOT_CONNECTED
jika konteksnya terkait dengan koneksi yang sekarang ditutup.
WEAVE_ERROR_INCORRECT_STATE
jika status konteks pertukaran salah.
WEAVE_NO_ERROR
jika lapisan Weave berhasil mengirim pesan ke lapisan jaringan.

SendMessage

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags,
  WeaveMessageInfo *msgInfo,
  void *msgCtxt
)

Kirim pesan Weave di bursa ini.

Detail
Parameter
[in] profileId
ID profil pesan Weave yang akan dikirim.
[in] msgType
Jenis pesan profil yang sesuai.
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan pesan Weave.
[in] sendFlags
Tanda yang ditetapkan oleh aplikasi untuk pesan Weave yang dikirim.
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] msgCtxt
Pointer ke objek konteks khusus aplikasi yang akan dikaitkan dengan pesan yang dikirim.
Nilai yang Ditampilkan
WEAVE_ERROR_INVALID_ARGUMENT
jika argumen yang tidak valid diteruskan ke SendMessage API ini.
WEAVE_ERROR_SEND_THROTTLED
jika konteks pertukaran ini telah dibatasi saat menggunakan protokol pesan tepercaya Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
jika ada ketidakcocokan dalam operasi pengiriman tertentu dan versi protokol pesan Weave yang didukung. Misalnya, error ini akan dihasilkan jika semantik Weave Reliable Messaging sedang dicoba saat versi protokol pesan Weave adalah V1.
WEAVE_ERROR_NOT_CONNECTED
jika konteksnya terkait dengan koneksi yang sekarang ditutup.
WEAVE_ERROR_INCORRECT_STATE
jika status konteks pertukaran salah.
WEAVE_NO_ERROR
jika lapisan Weave berhasil mengirim pesan ke lapisan jaringan.

SetAckPending

void SetAckPending(
  bool inAckPending
)

Tetapkan jika konfirmasi perlu dikirim kembali ke rekan pada pertukaran ini.

Detail
Parameter
[in] inAckPending
Boolean yang menunjukkan apakah (benar) atau tidak (salah) suatu pengakuan harus dikirim kembali sebagai respons terhadap pesan yang diterima.

SetAutoReleaseKey

void SetAutoReleaseKey(
  bool autoReleaseKey
)

Menyetel apakah kunci enkripsi yang terkait dengan pertukaran harus dilepaskan saat pertukaran dibebaskan.

Detail
Parameter
[in] autoReleaseKey
True jika kunci enkripsi pesan harus dilepaskan secara otomatis.

SetAutoRequestAck

void SetAutoRequestAck(
  bool autoReqAck
)

Menyetel apakah konfirmasi harus diminta setiap kali pesan dikirim.

Detail
Parameter
[in] autoReqAck
Boolean yang menunjukkan apakah konfirmasi harus diminta atau tidak setiap kali pesan dikirim.

SetConnectionClosed

void SetConnectionClosed(
  bool inConnectionClosed
)

Tetapkan bit flag kFlagConnectionClosed.

Tanda ini ditetapkan saat WeaveConnection yang terkait dengan ExchangeContext ditutup.

Detail
Parameter
[in] inConnectionClosed
Boolean yang menunjukkan apakah (benar) atau tidak (salah) konteks terkait dengan koneksi.

SetDropAck

void SetDropAck(
  bool inDropAck
)

Tetapkan apakah WeaveExchangeManager tidak boleh mengirim konfirmasi untuk konteks ini.

Khusus untuk penggunaan debug internal.

Detail
Parameter
[in] inDropAck
Boolean yang menunjukkan apakah (benar) atau tidak (salah) pernyataan tidak boleh dikirim untuk ditukar.

SetInitiator

void SetInitiator(
  bool inInitiator
)

Setel bit flag kFlagInitiator.

Tanda ini ditetapkan oleh node yang memulai pertukaran.

Detail
Parameter
[in] inInitiator
Boolean yang menunjukkan apakah (benar) atau tidak (salah) konteksnya adalah inisiator pertukaran.

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

Menetapkan jika pesan telah diterima dari pembanding di bursa ini.

Detail
Parameter
[in] inMsgRcvdFromPeer
Boolean yang menunjukkan apakah (benar) atau tidak (salah) suatu pesan telah diterima dari rekan dalam konteks pertukaran ini.

SetPeerRequestedAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

Ditetapkan jika konfirmasi diminta pada pesan terakhir yang diterima di pertukaran ini.

Detail
Parameter
[in] inPeerRequestedAck
Boolean yang menunjukkan apakah (benar) atau tidak (salah) bahwa konfirmasi diminta dalam pesan yang terakhir diterima.

SetResponseExpected

void SetResponseExpected(
  bool inResponseExpected
)

Tetapkan apakah respons diharapkan pada bursa ini.

Detail
Parameter
[in] inResponseExpected
Boolean yang menunjukkan apakah (benar) atau tidak (salah) respons diharapkan dalam pertukaran ini.

SetShouldAutoReleaseConnection

void SetShouldAutoReleaseConnection(
  bool autoReleaseCon
)

Menyetel apakah koneksi Weave yang terkait dengan pertukaran harus dilepaskan saat pertukaran dibebaskan.

Detail
Parameter
[in] autoReleaseCon
True jika koneksi Weave harus dilepaskan secara otomatis.

SetupTrickleRetransmit

WEAVE_ERROR SetupTrickleRetransmit(
  uint32_t retransInterval,
  uint8_t threshold,
  uint32_t timeout
)

Siapkan mekanisme transmisi ulang tetesan dengan menyetel interval transmisi ulang dan ambang batas siaran ulang yang sesuai.

Detail
Parameter
[in] retransInterval
Interval pengiriman ulang algoritme siaran ulang Trickle.
[in] threshold
Jumlah maksimum pesan disiarkan ulang.
[in] timeout
Waktu tunggu maksimum sebelum membatalkan timer transmisi ulang Trickle.
Hasil
WEAVE_NO_ERROR jika penyiapan Trickle berhasil, atau INET_ERROR yang dipetakan ke WEAVE_ERROR.

ShouldAutoReleaseConnection

bool ShouldAutoReleaseConnection() const 

Mengembalikan apakah koneksi Weave yang terkait dengan pertukaran harus dilepaskan saat pertukaran dibebaskan.

ShouldDropAck

bool ShouldDropAck(
  void
) const 

Tentukan apakah WeaveExchangeManager tidak boleh mengirim konfirmasi.

Khusus untuk penggunaan debug internal.

StartTimerT

WEAVE_ERROR StartTimerT(
  void
)

Mulai mekanisme timer transmisi ulang berkala algoritma Trickle.

Detail
Hasil
WEAVE_NO_ERROR jika berhasil, atau INET_ERROR yang dipetakan ke WEAVE_ERROR.

TeardownTrickleRetransmit

void TeardownTrickleRetransmit(
  void
)

Membongkar mekanisme transmisi ulang Trickle dengan membatalkan timer berkala di Trickle dan mengosongkan buffer pesan yang menyimpan pesan Weave.

UseEphemeralUDPPort

bool UseEphemeralUDPPort(
  void
) const 

Menampilkan apakah pesan keluar yang dikirim melalui pertukaran harus dikirim dari port UDP efemeral lokal.

WRMPFlushAcks

WEAVE_ERROR WRMPFlushAcks(
  void
)

WRMPSendDelayedDelivery

WEAVE_ERROR WRMPSendDelayedDelivery(
  uint32_t PauseTimeMillis,
  uint64_t DelayedNodeId
)

Mengirim pesan Pengiriman Tertunda untuk memberi tahu node pengirim bahwa pesan yang sebelumnya dikirim akan mengalami penundaan sebelum dikirim ke penerima.

Salah satu kemungkinan penyebab pesan tertunda sebelum dikirimkan adalah saat node akhir penerima mengantuk. Pesan ini mungkin dihasilkan oleh node perantara yang sesuai dalam jalur pengiriman yang memiliki pengetahuan yang cukup tentang penerima untuk menyimpulkan tentang pengiriman yang tertunda. Setelah menerima pesan ini, pengirim akan menyesuaikan kembali timer transmisi ulang untuk pesan yang meminta konfirmasi kembali.

Detail
Parameter
[in] pauseTimeMillis
Waktu (dalam milidetik) saat pesan yang dikirim sebelumnya diperkirakan akan tertunda sebelum terkirim.
[in] delayedNodeId
ID node dari node pembanding yang pengiriman pesannya akan tertunda.
Nilai yang Ditampilkan
WEAVE_ERROR_INVALID_ARGUMENT
jika argumen yang tidak valid diteruskan ke SendMessage API ini.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
jika ada ketidakcocokan dalam operasi pengiriman tertentu dan versi protokol pesan Weave yang didukung. Misalnya, error ini akan dihasilkan jika semantik Weave Reliable Messaging sedang dicoba saat versi protokol pesan Weave adalah V1.
WEAVE_ERROR_NOT_CONNECTED
jika konteksnya terkait dengan koneksi yang sekarang ditutup.
WEAVE_ERROR_INCORRECT_STATE
jika status konteks pertukaran salah.
WEAVE_NO_ERROR
jika lapisan Weave berhasil mengirim pesan ke lapisan jaringan.

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

Mengirim pesan Alur Pembatasan ke node pembanding untuk memintanya membatasi pengiriman pesan.

Detail
Parameter
[in] pauseTimeMillis
Waktu (dalam milidetik) yang diharapkan penerima untuk men-throttle pengirimannya.
Nilai yang Ditampilkan
WEAVE_ERROR_INVALID_ARGUMENT
Jika argumen yang tidak valid diteruskan ke SendMessage API ini.
WEAVE_ERROR_SEND_THROTTLED
Jika konteks pertukaran ini telah dibatasi saat menggunakan protokol pesan tepercaya Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
Jika ada ketidakcocokan dalam operasi pengiriman tertentu dan versi protokol pesan Weave yang didukung. Misalnya, error ini akan dihasilkan jika semantik Weave Reliable Messaging sedang dicoba saat versi protokol pesan Weave adalah V1.
WEAVE_ERROR_NOT_CONNECTED
Jika konteks dikaitkan dengan koneksi yang sekarang ditutup.
WEAVE_ERROR_INCORRECT_STATE
Jika status konteks bursa salah.
WEAVE_NO_ERROR
Jika lapisan Weave berhasil mengirimkan pesan ke lapisan jaringan.