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

Ringkasan

Fungsi

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Pengendali saat koneksi itu sendiri ditutup.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Pengendali ketika 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 respons habis.
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 pertukaran 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 itu sendiri ditutup.

Memanggil pengendali error transfer terkait dan menonaktifkan transfer.

Detail
Parameter
[in] anEc
Konteks Exchange yang mendeteksi koneksi tertutup. Kita 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 ketika kunci yang digunakan untuk mengenkripsi dan mengautentikasi pesan Weave tidak lagi dapat digunakan.

Detail
Parameter
[in] anEc
Konteks pertukaran yang mendeteksi error kunci. Kami dapat menemukan BDXTransfer terkait dari
[in] aKeyErr
Error yang terkait dengan kunci yang 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.

Ini pada dasarnya bertindak sebagai {i>router<i} untuk mengekstrak info dan data {i>header<i} BDX yang sesuai, mengirim pengendali yang sesuai untuk bertindak pada objek ini.

Detail
Parameter
[in] anEc
Konteks pertukaran jika kita membutuhkannya
[in] aPktInfo
Tidak digunakan, tetapi harus sesuai dengan prototipe fungsi
[in] aWeaveMsgInfo
Informasi Pesan Weave 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 respons habis.

Mematikan transfer yang waktu tunggunya habis, dan memanggil pengendali error transfer tersebut.

Detail
Parameter
[in] anEc
Konteks Exchange tempat kita dapat menemukan BDXTransfer dari

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 tanpa konfirmasi. Kita 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 dikonfirmasi 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-nya.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika 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 dikonfirmasi sama dengan aXfer.mBlockCounter.

Detail
Parameter
[in] aXfer
BDXTransfer yang kami kirimkan BlockEOFAck.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika 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 kami kirimkan BlockQuery.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika 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 GetBlockHandlernya dipanggil untuk mendapatkan blok berikutnya sebelum mengirimkannya menggunakan ExchangeContext terkait
Nilai yang Ditampilkan
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 pertukaran terkait.

Detail
Parameter
[in] anEc
Konteks bursa tempat kami harus mengirimkan 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
)