Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

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) typedef
void(*
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) typedef
void(*
Get a block of data to be transmitted.
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) typedef
void(*
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) typedef
uint16_t(*
Callback dipanggil saat menerima pesan ReceiveInit.
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport) typedef
void(*
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) typedef
uint16_t(*
Callback dipanggil saat menerima pesan SendInit.
XferDoneHandler)(BDXTransfer *aXfer) typedef
void(*
Menangani kasus saat transfer selesai.
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError) typedef
void(*
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::Tenun::Profil::BDX_Development::BdxNode
nl::Tenun::Profil::BDX_Development::BlockAck

Pesan BlockAck digunakan untuk mengonfirmasi blok data.

nl::Tenun::Profil::BDX_Development::BlockAckV1

Pesan BlockAckV1 digunakan untuk mengonfirmasi blok data.

nl::Tenun::Profil::BDX_Development::BlockEOF

Pesan BlockEOF digunakan untuk mentransfer blok data terakhir dari pengirim ke penerima.

nl::Tenun::Profil::BDX_Development::BlockEOFAck

Pesan BlockEOFAck digunakan untuk mengonfirmasi blok data terakhir.

nl::Tenun::Profil::BDX_Development::BlockEOFAckV1

Pesan BlockEOFAckV1 digunakan untuk mengonfirmasi blok data terakhir.

nl::Tenun::Profil::BDX_Development::BlockEOFV1

Pesan BlockEOFV1 digunakan untuk mentransfer blok data terakhir dari pengirim ke penerima.

nl::Weave::Profiles::BDX_Development::BlockQuery

Pesan BlockQuery digunakan untuk meminta blok data ditransfer dari pengirim ke penerima.

nl::Tenun::Profil::BDX_Development::BlockQueryV1

Pesan BlockQueryV1 digunakan untuk meminta blok data ditransfer dari pengirim ke penerima.

nl::Tenun::Profil::BDX_Development::BlockSend

Pesan BlockSend digunakan untuk mentransfer blok data dari pengirim ke penerima.

nl::Tenun::Profil::BDX_Development::BlockSendV1

Pesan BlockSendV1 digunakan untuk mentransfer blok data dari pengirim ke penerima.

nl::Tenun::Profil::BDX_Development::ReceiveAccept

Pesan ReceiveAccept digunakan untuk menerima bursa yang diusulkan jika penerimanya adalah inisiator.

nl::Tenun::Profil::BDX_Development::ReceiveInit

Pesan ReceiveInit digunakan untuk memulai pertukaran saat penerima adalah inisiator.

nl::Tenun::Profil::BDX_Development::ReceiveReceive

Pesan ReceiveDeny digunakan untuk menolak pertukaran yang diusulkan saat pengirim adalah inisiator.

nl::Tenun::Profil::BDX_Development::SendAccept

Pesan SendAccept digunakan untuk menerima bursa yang diusulkan jika pengirim adalah inisiator.

nl::Tenun::Profil::BDX_Development::SendInit

Pesan SendInit digunakan untuk memulai pertukaran saat pengirim adalah penginisialisasi.

nl::Tenun::Profil::BDX_Development::SendTolak

Pesan SendTolak digunakan untuk menolak pertukaran yang diusulkan saat pengirim adalah pembuat inisiatif.

nl::Tenun::Profil::BDX_Development::TransferError

Pesan Error digunakan untuk melaporkan error dan membatalkan bursa.

Struct

nl::Tenun::Profil::BDX_Development::BDXHandlers
nl::Tenun::Profil::BDX_Development::BDXTransfer

Struktur ini berisi anggota data yang mewakili transfer BDX aktif.

Namespace

nl::Tenun::Profil::BDX_Development::BdxProtocol

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
[in] aXfer
Pointer ke BDXTransfer yang terkait dengan transfer ini
[in] anErrorCode
Kode error yang perlu diproses

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
[in] aXfer
BDXTransfer yang terkait dengan transfer yang sedang berlangsung ini
[in,out] aLength
Panjang data yang dibaca dan disimpan dalam blok ini. Pada panggilan ke fungsi berisi panjang buffer yang diteruskan dalam aDataBlock. Saat kembali, variabel berisi panjang data yang sebenarnya dibaca.
[in,out] aDataBlock
Pointer ke blok data. Pada input, ini berisi buffer yang disediakan framework; tujuan panggilan dapat menggunakan ruang itu untuk mengisi buffer, atau menyediakan ruang buffering sendiri (untuk aplikasi kompatibilitas mundur). Aplikasi yang menggunakan buffer yang diberikan tidak boleh mengasumsikan penyelarasan apa pun.
[out] aLastBlock
True jika blok harus dikirim sebagai BlockEOF dan transfer selesai, jika tidak, false jika tidak

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
[in] aXfer
BDXTransfer yang terkait dengan transfer yang sedang berlangsung ini
[in] aLength
Panjang data yang dibaca dan disimpan dalam blok yang ditentukan
[in] aDataBlock
Blok data aktual
[in] aLastBlock
True jika blok diterima sebagai BlockEOF dan transfer selesai, dan nilai false jika sebaliknya. Jika benar, programmer mungkin harus menyelesaikan semua penanganan file, dengan memperhatikan bahwa XferDoneHandler akan dipanggil setelah ini

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
[in] aXfer
Pointer ke BDXTransfer yang terkait dengan transfer ini
[in] aReceiveAcceptMsg
Pointer ke pesan ReceiveAccept yang sedang kita proses

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
[in] aXfer
Pointer ke BDXTransfer yang terkait dengan transfer ini
[in] aReceiveInitMsg
Pointer ke pesan ReceiveInit yang sedang kami proses

TolakPenangan

void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)

Dipanggil jika salah satu pesan Init sebelumnya ditolak oleh tujuan.

Detail
Parameter
[in] aXfer
Pointer ke BDXTransfer yang terkait dengan transfer ini
[in] aReport
Pointer ke penolakan pesan StatusReport yang sedang kami proses

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
[in] aXfer
Pointer ke BDXTransfer yang terkait dengan transfer ini
[in] aSendAcceptMsg
Pointer ke pesan SendAccept yang sedang diproses

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
[in] aXfer
Pointer ke BDXTransfer yang terkait dengan transfer ini
[in] aSendInitMsg
Pointer ke pesan SendInit yang sedang kami proses

Pengendali XferDone

void(* XferDoneHandler)(BDXTransfer *aXfer)

Menangani kasus saat transfer selesai.

Detail
Parameter
[in] aXfer
Pointer ke BDXTransfer yang terkait dengan transfer ini

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
[in] aXfer
Pointer ke BDXTransfer yang terkait dengan transfer ini
[in] aXferError
Pointer ke pesan error StatusReport yang sedang kami proses

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
[in] anEc
Konteks pertukaran yang seharusnya kita dapatkan berdasarkan
Menampilkan
0 atau kSendFlag_RequestAck