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 mempertahankan status protokol. Mereka dikelola oleh BdxServer, yang menangani pembuatan dan inisialisasi transfer baru, termasuk mengelola Koneksi dan ExchangeContext.

Atribut publik

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
Nomor blok berikutnya yang akan menerima BlockQuery atau BlockACK untuk pengiriman (setelah transfer resmi dimulai).
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
file/blokir anggota data terkait TODO: hapus ini? atau haruskah kita menetapkan kontrak seperti apa dan bagaimana {i>string<i} ini akan digunakan? Secara khusus, apakah itu didukung oleh PacketBuffer? Jika demikian, gambar tersebut mungkin tidak akan bertahan di seluruh xfer karena akan membutuhkan pbuf
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)
Dispatcher cukup memeriksa apakah pengendali telah ditetapkan dan kemudian memanggilnya jika telah ditetapkan.
DispatchRejectHandler(StatusReport *aReport)
void
Jika pengendali penolakan telah ditetapkan, panggil pengendali tersebut.
DispatchSendAccept(SendAccept *aSendAcceptMsg)
Jika pengendali pengiriman penerimaan 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 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 akan menerima BlockQuery atau BlockACK untuk pengiriman (setelah transfer resmi dimulai).

Saat menerimanya, permintaan ini adalah BlockSend berikutnya yang diharapkan akan kami terima atau BlockQuery terbaru yang kami kirim (setelah transfer resmi dimulai dan kueri pertama 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

file/blokir anggota data terkait TODO: hapus ini? atau haruskah kita menetapkan kontrak seperti apa dan bagaimana {i>string<i} ini akan digunakan? Secara khusus, apakah itu didukung oleh PacketBuffer? Jika demikian, gambar tersebut mungkin tidak akan bertahan di seluruh xfer karena akan membutuhkan pbuf

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
)

Dispatcher cukup memeriksa apakah pengendali telah ditetapkan dan kemudian memanggilnya jika telah ditetapkan.

Jika pengendali penerimaan penerimaan telah ditetapkan, panggil pengendali tersebut.

Oleh karena itu, ini harus digunakan sebagai antarmuka publik untuk memanggil callback, yang tidak boleh disentuh langsung oleh aplikasi luar. Ada kemungkinan bahwa revisi BDXTransfer pada masa mendatang akan menggunakan objek delegasi, bukan menyimpan pointer individual 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 penerimaan telah ditetapkan, panggil pengendali tersebut.

Detail
Parameter
[in] aSendAcceptMsg
Pesan SendAccept untuk 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 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 respons atas 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 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 menyetelnya secara manual karena implementasi yang mendasari cara penyimpanan pointer fungsi pengendali bukan merupakan 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 kesempatan ini untuk mengosongkan resource apa pun yang terkait dengan transfer ini dan logika aplikasi Anda.