nl::Weave::Profiles::BDX_Development::BDXTransfer

#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>

Struktur ini berisi anggota data yang mewakili transfer BDX aktif.

Ringkasan

Objek ini digunakan oleh BdxProtocol untuk menjaga status protokol. Mereka dikelola oleh BdxServer, yang menangani pembuatan dan inisialisasi transfer baru, termasuk mengelola Connections dan ExchangeContexts.

Atribut publik

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
Nomor blok berikutnya yang kami harapkan akan menerima BlockQuery atau BlockACK saat mengirim (setelah transfer secara resmi dimulai).
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
anggota data terkait file/blok TODO: hapus ini? atau haruskah kita membuat kontrak mengenai seperti apa string ini dan bagaimana string tersebut akan digunakan? Secara khusus, apakah ini didukung oleh PacketBuffer? Jika demikian, mungkin tidak boleh bertahan di seluruh xfer karena membutuhkan buf
mFirstQuery
bool
mHandlers
mIsAccepted
bool
mIsCompletedSuccessfully
bool
mIsInitiated
bool
mIsWideRange
bool
mLength
uint64_t
mMaxBlockSize
uint16_t
mNext)(BDXTransfer &)
mStartOffset
uint64_t
mTransferMode
uint8_t
mVersion
uint8_t

Fungsi publik

DispatchErrorHandler(WEAVE_ERROR anErrorCode)
void
Jika pengendali error telah ditetapkan, panggil pengendali tersebut.
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
void
Jika pengendali blok get telah ditetapkan, panggil pengendali tersebut.
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
void
Jika pengendali blok put telah ditetapkan, panggil pengendali tersebut.
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
Petugas operator hanya memeriksa apakah pengendali telah ditetapkan, lalu memanggilnya jika demikian.
DispatchRejectHandler(StatusReport *aReport)
void
Jika pengendali penolakan telah ditetapkan, panggil pengendali tersebut.
DispatchSendAccept(SendAccept *aSendAcceptMsg)
Jika pengendali pengiriman terima telah ditetapkan, panggil pengendali tersebut.
DispatchXferDoneHandler(void)
void
Jika pengendali transfer selesai telah ditetapkan, panggil pengendali tersebut.
DispatchXferErrorHandler(StatusReport *aXferError)
void
Jika pengendali error transfer telah ditetapkan, panggil pengendali error transfer tersebut.
GetDefaultFlags(bool aExpectResponse)
uint16_t
Fungsi ini menampilkan tanda default yang akan dikirim bersama pesan.
IsAsync(void)
bool
 Returns true if this transfer is asynchronous, false otherwise.
IsDriver(void)
bool
 Returns true if this entity (node) is the driver for this transfer, false otherwise.
Reset(void)
void
 Sets all pointers to NULL, resets counters, etc.
SetHandlers(BDXHandlers aHandlers)
void
Fungsi ini menetapkan pengendali pada objek BDXTransfer ini.
Shutdown(void)
void
 Shuts down the current transfer, including closing any open ExchangeContext.

Atribut publik

mAmInitiator

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator

mAmSender

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmSender

mAppState

void * nl::Weave::Profiles::BDX_Development::BDXTransfer::mAppState

mBlockCounter

uint32_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBlockCounter

Nomor blok berikutnya yang kami harapkan akan menerima BlockQuery atau BlockACK saat mengirim (setelah transfer secara resmi dimulai).

Saat menerima, ini adalah BlockSend berikutnya yang kami harapkan atau BlockQuery terbaru yang kami kirimkan (setelah transfer secara resmi dimulai dan kueri pertama yang dikirim).

mBytesSent

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBytesSent

mExchangeContext

ExchangeContext * nl::Weave::Profiles::BDX_Development::BDXTransfer::mExchangeContext

mFileDesignator

ReferencedString nl::Weave::Profiles::BDX_Development::BDXTransfer::mFileDesignator

anggota data terkait file/blok TODO: hapus ini? atau haruskah kita membuat kontrak mengenai seperti apa string ini dan bagaimana string tersebut akan digunakan? Secara khusus, apakah ini didukung oleh PacketBuffer? Jika demikian, mungkin tidak boleh bertahan di seluruh xfer karena membutuhkan buf

mFirstQuery

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery

mHandlers

BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers

mIsAccepted

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted

mIsCompletedSuccessfully

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully

mIsInitiated

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated

mIsWideRange

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange

mLength

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength

mMaxBlockSize

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize

mNext

WEAVE_ERROR(* nl::Weave::Profiles::BDX_Development::BDXTransfer::mNext)(BDXTransfer &)

mStartOffset

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mStartOffset

mTransferMode

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mTransferMode

mVersion

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion

Fungsi publik

DispatchErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler(
  WEAVE_ERROR anErrorCode
)

Jika pengendali error telah ditetapkan, panggil pengendali tersebut.

Jika tidak disetel, matikan juga transfer sebagai perilaku default.

Detail
Parameter
[in] anErrorCode
Kode error yang akan diproses

DispatchGetBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler(
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aLastBlock
)

Jika pengendali blok get telah ditetapkan, panggil pengendali tersebut.

Detail
Parameter
[in] aLength
Panjang blok
[in] aDataBlock
Pointer ke blok data
[in] aLastBlock
Benar jika ini adalah blok terakhir dalam transfer

DispatchPutBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler(
  uint64_t aLength,
  uint8_t *aDataBlock,
  bool aLastBlock
)

Jika pengendali blok put telah ditetapkan, panggil pengendali tersebut.

Detail
Parameter
[in] aLength
Panjang blok
[in] aDataBlock
Pointer ke blok data
[in] aLastBlock
Benar jika ini adalah blok terakhir dalam transfer

DispatchReceiveAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept(
  ReceiveAccept *aReceiveAcceptMsg
)

Petugas operator hanya memeriksa apakah pengendali telah ditetapkan, lalu memanggilnya jika demikian.

Jika pengendali terima telah ditetapkan, panggil pengendali tersebut.

Oleh karena itu, hal ini harus digunakan sebagai antarmuka publik untuk memanggil callback, yang tidak boleh disentuh langsung oleh aplikasi luar. Ada kemungkinan bahwa revisi mendatang BDXTransfer akan menggunakan objek delegasi, bukan menyimpan masing-masing pointer ke setiap callback.

Detail
Parameter
[in] aReceiveAcceptMsg
Pesan ReceiveAccept untuk diproses
Hasil
nilai error

DispatchRejectHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler(
  StatusReport *aReport
)

Jika pengendali penolakan telah ditetapkan, panggil pengendali tersebut.

Jika tidak disetel, matikan juga transfer sebagai perilaku default.

Detail
Parameter
[in] aReport
Pesan StatusReport yang akan diproses

DispatchSendAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept(
  SendAccept *aSendAcceptMsg
)

Jika pengendali pengiriman terima telah ditetapkan, panggil pengendali tersebut.

Detail
Parameter
[in] aSendAcceptMsg
Pesan SendAccept yang akan diproses
Hasil
nilai error

DispatchXferDoneHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler(
  void
)

Jika pengendali transfer selesai telah ditetapkan, panggil pengendali tersebut.

Jika tidak disetel, matikan juga transfer sebagai perilaku default.

DispatchXferErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler(
  StatusReport *aXferError
)

Jika pengendali error transfer telah ditetapkan, panggil pengendali error transfer tersebut.

Jika tidak disetel, matikan juga transfer sebagai perilaku default.

Detail
Parameter
[in] aXferError
Laporan status error yang akan diproses

GetDefaultFlags

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags(
  bool aExpectResponse
)

Fungsi ini menampilkan tanda default yang akan dikirim bersama pesan.

Detail
Parameter
[in] aExpectResponse
Jika kami mengharapkan balasan untuk pesan ini
Hasil
Tanda yang akan dikirim

IsAsync

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync(
  void
)

 Returns true if this transfer is asynchronous, false otherwise.

Detail
Hasil
true jika transfer tersebut asinkron.

IsDriver

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver(
  void
)

 Returns true if this entity (node) is the driver for this transfer, false otherwise.

Detail
Hasil
true (benar) jika entitas ini adalah driver untuk transfer ini

Reset

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset(
  void
)

 Sets all pointers to NULL, resets counters, etc.

Dipanggil saat dimatikan.

SetHandlers

void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers(
  BDXHandlers aHandlers
)

Fungsi ini menetapkan pengendali pada objek BDXTransfer ini.

Anda harus selalu menggunakan metode ini daripada mencoba menetapkannya secara manual karena implementasi dasar dari cara pointer fungsi pengendali disimpan bukanlah bagian dari API publik.

Detail
Parameter
[in] aHandlers
Struktur pengendali callback yang akan dipanggil

Nonaktif

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown(
  void
)

 Shuts down the current transfer, including closing any open ExchangeContext.

Gunakan peluang ini untuk membebaskan resource apa pun yang terkait dengan transfer ini dan logika aplikasi Anda.