nl::Weave::Profiles::BDX_Development::BdxProtocol

Ringkasan

Fungsi

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Pengendali saat koneksi ditutup.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Pengendali saat kunci yang digunakan untuk mengenkripsi dan mengautentikasi pesan Weave tidak lagi dapat digunakan.
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
Pengendali utama untuk pesan yang tiba di pertukaran BDX.
HandleResponseNotAccepted(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseReceive(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseTimeout(ExchangeContext *anEc)
void
Pengendali saat waktu tunggu menunggu respons.
HandleResponseTransmit(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError(ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
Pengendali saat pesan WRMP yang kami kirim tidak dikonfirmasi.
InitBdxReceive(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
SendBadBlockCounterStatusReport(BDXTransfer & aXfer)
SendBlockAckV1(BDXTransfer & aXfer)
Fungsi ini mengirim pesan BlockAckV1 untuk BDXTransfer yang ditentukan.
SendBlockEOFAckV1(BDXTransfer & aXfer)
Fungsi ini mengirim pesan BlockEOFAckV1 untuk BDXTransfer yang ditentukan.
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
Fungsi ini mengirim pesan BlockQueryV1 untuk BDXTransfer yang ditentukan.
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
Fungsi ini mengirimkan BlockSendV1 berikutnya yang diambil dengan memanggil GetBlockHandler BDXTransfer.
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
Mengirim pesan laporan status dengan ID profil, kode status, dan konteks bursa terkait.
SendTransferError(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

Fungsi

HandleConnectionClosed

void HandleConnectionClosed(
  ExchangeContext *anEc,
  WeaveConnection *aCon,
  WEAVE_ERROR aConErr
)

Pengendali saat koneksi ditutup.

Memanggil pengendali error transfer terkait dan menonaktifkan transfer.

Detail
Parameter
[in] anEc
Konteks Exchange yang mendeteksi koneksi tertutup Kami dapat menemukan BDXTransfer terkait dari
[in] aCon
Koneksi Weave, tidak digunakan dalam fungsi sebenarnya
[in] aConErr
Error yang terkait dengan penutupan koneksi

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

Pengendali saat kunci yang digunakan untuk mengenkripsi dan mengautentikasi pesan Weave tidak lagi dapat digunakan.

Detail
Parameter
[in] anEc
Konteks Exchange yang mendeteksi error utama Kami dapat menemukan BDXTransfer terkait dari
[in] aKeyErr
Error yang terkait dengan kunci tidak dapat digunakan lagi

HandleResponse

void HandleResponse(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

Pengendali utama untuk pesan yang tiba di pertukaran BDX.

Fungsi ini pada dasarnya berfungsi sebagai router untuk mengekstrak info dan data header BDX yang sesuai, mengirimkan pengendali yang sesuai untuk bertindak pada objek ini.

Detail
Parameter
[in] anEc
Konteks pertukaran jika kita membutuhkannya
[in] aPktInfo
Tidak digunakan, tetapi harus cocok dengan prototipe fungsi
[in] aWeaveMsgInfo
Informasi Pesan Anyaman untuk pesan
[in] aProfileId
ID profil yang digunakan untuk menetapkan pesan
[in] aMessageType
Jenis pesan profil tersebut
[in] aPacketBuffer
Paket pesan itu sendiri

HandleResponseNotAccepted

WEAVE_ERROR HandleResponseNotAccepted(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponseReceive

WEAVE_ERROR HandleResponseReceive(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *anEc
)

Pengendali saat waktu tunggu menunggu respons.

Mematikan transfer yang waktunya habis, dan memanggil pengendali error transfer tersebut.

Detail
Parameter
[in] anEc
Konteks Exchange yang dapat kita temukan dengan BDXTransfer

HandleResponseTransmit

WEAVE_ERROR HandleResponseTransmit(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleSendError

void HandleSendError(
  ExchangeContext *anEc,
  WEAVE_ERROR aSendErr,
  void *aMsgCtxt
)

Pengendali saat pesan WRMP yang kami kirim tidak dikonfirmasi.

Detail
Parameter
[in] anEc
Konteks pertukaran yang memiliki pesan yang tidak dikonfirmasi. Kami dapat menemukan BDXTransfer terkait dari
[in] aSendErr
Error yang terkait dengan kegagalan pengiriman pesan
[in] aMsgCtxt
Konteks pesan arbitrer yang terkait dengan pesan yang tidak dikonfirmasi.

InitBdxReceive

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

SendBadBlockCounterStatusReport

WEAVE_ERROR SendBadBlockCounterStatusReport(
  BDXTransfer & aXfer
)

SendBlockAckV1

WEAVE_ERROR SendBlockAckV1(
  BDXTransfer & aXfer
)

Fungsi ini mengirim pesan BlockAckV1 untuk BDXTransfer yang ditentukan.

Nomor blok yang diakui sama dengan aXfer.mBlockCounter - 1 karena fungsi ini hanya dapat dipanggil setelah status transfer maju ke penghitung berikutnya.

Detail
Parameter
[in] aXfer
BDXTransfer yang kami kirimkan BlockAck.
Nilai Pengembalian
WEAVE_NO_ERROR
Apakah kita berhasil mengirim pesan.
WEAVE_ERROR_NO_MEMORY
Jika tidak ada PacketBuffers yang tersedia.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

Fungsi ini mengirim pesan BlockEOFAckV1 untuk BDXTransfer yang ditentukan.

Nomor blok yang diakui sama dengan aXfer.mBlockCounter.

Detail
Parameter
[in] aXfer
BDXTransfer yang kami kirimkan BlockEOFAck.
Nilai Pengembalian
WEAVE_NO_ERROR
Apakah kita berhasil mengirim pesan.
WEAVE_ERROR_NO_MEMORY
Jika tidak ada PacketBuffers yang tersedia.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

Fungsi ini mengirim pesan BlockQueryV1 untuk BDXTransfer yang ditentukan.

Nomor blok yang diminta sama dengan aXfer.mBlockCounter.

Detail
Parameter
[in] aXfer
BDXTransfer yang kita kirimkan BlockQuery.
Nilai Pengembalian
WEAVE_NO_ERROR
Apakah kita berhasil mengirim pesan.
WEAVE_ERROR_NO_MEMORY
Jika tidak ada PacketBuffers yang tersedia.

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Fungsi ini mengirimkan BlockSendV1 berikutnya yang diambil dengan memanggil GetBlockHandler BDXTransfer.

Detail
Parameter
[in] aXfer
BDXTransfer yang GetBlockHandler dipanggil untuk mendapatkan blok berikutnya sebelum mengirimkannya menggunakan ExchangeContext terkait
Nilai Pengembalian
WEAVE_ERROR_INCORRECT_STATE
Jika GetBlockHandler adalah NULL

SendStatusReport

void SendStatusReport(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)

Mengirim pesan laporan status dengan ID profil, kode status, dan konteks bursa terkait.

Detail
Parameter
[in] anEc
Konteks pertukaran tempat kita akan mengirim pesan laporan status
[in] aProfileId
ID Profil
[in] aStatusCode
Kode yang terkait dengan error transfer

SendTransferError

void SendTransferError(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)