nl:: Tenun:: Profil:: BDX_Development
Namespace ini mencakup semua antarmuka dalam profil Weave for the Massal Data Transfer (BDX) yang aktif dalam pengembangan dan tidak boleh digunakan untuk penggunaan produksi.
Ringkasan
Enumerasi |
|
---|---|
@80
|
enum |
@81
|
enum |
@82
|
enum |
@83
|
enum |
Typedef |
|
---|---|
BdxClient
|
typedef |
BdxServer
|
typedef |
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
|
typedefvoid(*
Pengendali ini dipanggil setiap kali terjadi error Weave yang tidak dapat langsung ditampilkan melalui kode error ke alur kontrol yang ditentukan aplikasi pengguna. |
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
typedefvoid(*
Get a block of data to be transmitted. |
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
typedefvoid(*
Tangani blok data yang ditunjuk oleh aDataBlock dengan panjang aLength. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef Callback dipanggil saat ReceiveInit yang dikirim sebelumnya diterima oleh tujuan. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
Callback dipanggil saat menerima pesan ReceiveInit. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
typedefvoid(*
Dipanggil jika salah satu pesan Init sebelumnya ditolak oleh tujuan. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef Callback dipanggil saat SendInit yang dikirim sebelumnya diterima oleh tujuan. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
typedefuint16_t(*
Callback dipanggil saat menerima pesan SendInit. |
XferDoneHandler)(BDXTransfer *aXfer)
|
typedefvoid(*
Menangani kasus saat transfer selesai. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedefvoid(*
Menangani pesan TransferError yang diterima atau dikirim oleh BDX. |
Fungsi |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag menampilkan flag yang sesuai untuk kolom RequestAck bergantung pada koneksi konteks bursa (tidak ada ack permintaan untuk TCP), dan berdasarkan dukungan waktu kompilasi untuk WRMP.
|
Class |
|
---|---|
nl:: |
|
nl:: |
Pesan BlockAck digunakan untuk mengonfirmasi blok data. |
nl:: |
Pesan BlockAckV1 digunakan untuk mengonfirmasi blok data. |
nl:: |
Pesan BlockEOF digunakan untuk mentransfer blok data terakhir dari pengirim ke penerima. |
nl:: |
Pesan BlockEOFAck digunakan untuk mengonfirmasi blok data terakhir. |
nl:: |
Pesan BlockEOFAckV1 digunakan untuk mengonfirmasi blok data terakhir. |
nl:: |
Pesan BlockEOFV1 digunakan untuk mentransfer blok data terakhir dari pengirim ke penerima. |
nl:: |
Pesan BlockQuery digunakan untuk meminta blok data ditransfer dari pengirim ke penerima. |
nl:: |
Pesan BlockQueryV1 digunakan untuk meminta blok data ditransfer dari pengirim ke penerima. |
nl:: |
Pesan BlockSend digunakan untuk mentransfer blok data dari pengirim ke penerima. |
nl:: |
Pesan BlockSendV1 digunakan untuk mentransfer blok data dari pengirim ke penerima. |
nl:: |
Pesan ReceiveAccept digunakan untuk menerima bursa yang diusulkan jika penerimanya adalah inisiator. |
nl:: |
Pesan ReceiveInit digunakan untuk memulai pertukaran saat penerima adalah inisiator. |
nl:: |
Pesan ReceiveDeny digunakan untuk menolak pertukaran yang diusulkan saat pengirim adalah inisiator. |
nl:: |
Pesan SendAccept digunakan untuk menerima bursa yang diusulkan jika pengirim adalah inisiator. |
nl:: |
Pesan SendInit digunakan untuk memulai pertukaran saat pengirim adalah penginisialisasi. |
nl:: |
Pesan SendTolak digunakan untuk menolak pertukaran yang diusulkan saat pengirim adalah pembuat inisiatif. |
nl:: |
Pesan Error digunakan untuk melaporkan error dan membatalkan bursa. |
Struct |
|
---|---|
nl:: |
|
nl:: |
Struktur ini berisi anggota data yang mewakili transfer BDX aktif. |
Namespace |
|
---|---|
nl:: |
Enumerasi
@80
@80
@81
@81
@82
@82
@83
@83
Typedef
Klien Bdx
BdxNode BdxClient
Server Bdx
BdxNode BdxServer
Pengendali Kesalahan
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
Pengendali ini dipanggil setiap kali terjadi error Weave yang tidak dapat langsung ditampilkan melalui kode error ke alur kontrol yang ditentukan aplikasi pengguna.
Artinya, jika terjadi error dalam pengendali lain yang tanda tangannya memiliki jenis nilai yang ditampilkan void (misalnya, sebagai respons terhadap pesan Weave yang masuk atau bahkan dikirim oleh protokol), pengendali ini akan dipanggil sehingga pengguna dapat menentukan apakah transfer dapat dipulihkan dan melanjutkan atau jika mereka harus memanggil Shutdown(). Perhatikan bahwa mungkin terjadi error sebelum BDXTransfer diinisialisasi (misalnya sudah terlalu banyak objek yang dialokasikan Dalam kasus tersebut, error yang dicatat akan dicatat oleh Weave dan protokol akan menangani pembersihan setiap status yang diperlukan yang dialokasikan.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
Pemanggil memberikan ruang buffering (buffering dan panjang buffer, yang diteruskan melalui referensi). Callee (aplikasi pengguna) SEBAIKNYA menggunakan buffer yang disediakan, tetapi karena alasan kompatibilitas mundur, mungkin menampilkan buffer-nya sendiri. Callee tidak boleh memberikan lebih dari aLength
byte. Saat ditampilkan, aLength
berisi jumlah byte sebenarnya yang dibaca ke buffer.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
Tangani blok data yang ditunjuk oleh aDataBlock dengan panjang aLength.
Kemungkinan ini akan melibatkan penulisan ke file dan penutupan file tersebut jika isLastBlock adalah true.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
TerimaAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
Callback dipanggil saat ReceiveInit yang dikirim sebelumnya diterima oleh tujuan.
Anda dapat menggunakan kesempatan ini untuk membuka file atau mengalokasikan resource untuk transfer jika tidak melakukannya saat memulai.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
TerimaInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
Callback dipanggil saat menerima pesan ReceiveInit.
Tugasnya adalah menentukan apakah Anda ingin menerima Diterima dan, jika demikian, mengatur aXfer->mIsReceived=true sehingga protokol akan mengirim pesan terima ke inisiator. Objek BDXTransfer dimulai ke setelan default. Ini adalah tempat yang bagus untuk melampirkan status khusus aplikasi (handle file terbuka, dll.) ke aXfer->mAppState. Anda juga harus menambahkan pengendali yang diperlukan untuk, misalnya, penanganan pemblokiran ke objek BDXTransfer pada tahap ini. Jika kode error selain kStatus_Success ditampilkan, transfer diasumsikan ditolak dan protokol akan menangani pengiriman pesan penolakan dengan kode tersebut.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
TolakPenangan
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
Dipanggil jika salah satu pesan Init sebelumnya ditolak oleh tujuan.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
Callback dipanggil saat SendInit yang dikirim sebelumnya diterima oleh tujuan.
Anda dapat menggunakan kesempatan ini untuk membuka file atau mengalokasikan resource untuk transfer jika tidak melakukannya saat memulai.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
Callback dipanggil saat menerima pesan SendInit.
Tugasnya adalah menentukan apakah Anda ingin menerima SendInit dan, jika demikian, tetapkan aXfer->mIsReceived=true sehingga protokol akan mengirim pesan terima ke inisiator. Objek BDXTransfer dimulai ke setelan default. Ini adalah tempat yang bagus untuk melampirkan status khusus aplikasi (handle file terbuka, dll.) ke aXfer->mAppState. Anda juga harus menambahkan pengendali yang diperlukan untuk, misalnya, penanganan pemblokiran ke objek BDXTransfer pada tahap ini. Jika kode error selain WEAVE_NO_ERROR ditampilkan, transfer diasumsikan ditolak dan protokol akan menangani pengiriman pesan penolakan dengan kode tersebut.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
Pengendali XferDone
void(* XferDoneHandler)(BDXTransfer *aXfer)
Menangani kasus saat transfer selesai.
Detail | |||
---|---|---|---|
Parameter |
|
Pengendali XferError
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
Menangani pesan TransferError yang diterima atau dikirim oleh BDX.
Catatan: Transfer BDX dianggap dapat dipulihkan (mungkin sementara, misalnya, dari PacketBuffers saat ini), jadi opsi untuk memanggil Shutdown() diserahkan kepada programmer aplikasi dan callback yang ditetapkan. PERLU DILAKUKAN: verifikasikan dan rekonsiliasi dengan bahasa dalam dokumen BDX, yang menyatakan: "[A TransferError] Dapat dikirim kapan saja oleh salah satu pihak untuk mengakhiri transfer data massal sebelum waktunya."
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
Fungsi
Tanda GetBDXAck
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag menampilkan flag yang sesuai untuk kolom RequestAck bergantung pada koneksi konteks bursa (tidak ada ack permintaan untuk TCP), dan berdasarkan dukungan waktu kompilasi untuk WRMP.
Detail | |||
---|---|---|---|
Parameter |
|
||
Menampilkan |
0 atau kSendFlag_RequestAck
|