nl::Weave::Profiles::BDX_Development::SendInit

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

Pesan SendInit digunakan untuk memulai pertukaran saat pengirim adalah inisiator.

Ringkasan

Inheritance

Subclass Langsung yang Diketahui: nl::Weave::Profiles::BDX_Development::ReceiveInit

Konstruktor dan Destruktor

SendInit(void)

Jenis publik

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback menyediakan cara yang dapat digunakan klien untuk menyediakan SendInit dengan metadata apa pun yang mereka inginkan.

Atribut publik

mAsynchronousModeSupported
bool
True jika kami dapat mendukung mode asinkron.
mDefiniteLength
bool
True jika terdapat kolom length.
mFileDesignator
String yang berisi informasi pra-negosiasi.
mLength
uint64_t
Panjang data yang diusulkan dalam transfer, 0 untuk waktu tak terbatas.
mMaxBlockSize
uint16_t
Ukuran blok maksimum yang diusulkan untuk digunakan dalam transfer.
mMetaData
Metadata TLV opsional.
mMetaDataAppState
void *
Status aplikasi opsional untuk Metadata TLV.
mMetaDataWriteCallback
Fungsi opsional untuk menulis Metadata TLV.
mReceiverDriveSupported
bool
True jika kami dapat mendukung drive penerima.
mSenderDriveSupported
bool
True jika kami dapat mendukung drive pengirim.
mStartOffset
uint64_t
Offset awal data yang diusulkan.
mStartOffsetPresent
bool
True jika ada kolom start offset.
mVersion
uint8_t
Versi protokol BDX yang kami putuskan.
mWideRange
bool
True jika offset dan panjangnya 64 bit.

Fungsi publik

init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Lakukan inisialisasi SendInit "wide".
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Lakukan inisialisasi SendInit "non-wide" (offset awal 32 bit, panjang 32 bit)
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Lakukan inisialisasi SendInit "wide".
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Lakukan inisialisasi SendInit "non-wide" (offset awal 32 bit, panjang 32 bit)
operator==(const SendInit &) const
bool
Perbandingan kesetaraan antara pesan SendInit.
pack(PacketBuffer *aBuffer)
Mengemas pesan init kirim ke dalam PacketBuffer.
packedLength(void)
uint16_t
Menampilkan panjang paket pesan init yang dikirim.

Fungsi statis publik

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Mengurai data dari PacketBuffer ke dalam format pesan SendInit.

Jenis publik

MetaDataTLVWriteCallback

WEAVE_ERROR(* MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState)

MetaDataTLVWriteCallback menyediakan cara yang dapat digunakan klien untuk menyediakan SendInit dengan metadata apa pun yang mereka inginkan.

Klien bebas menyediakan TLV yang telah dienkode sebelumnya (lebih cepat), mengenkode dengan cepat (menggunakan lebih sedikit memori), mengenkode lambat (sedikit lebih cepat pada saat memulai), dll. jika dirasa sesuai.

Dalam semua kasus, diasumsikan bahwa data yang dihasilkan oleh callback adalah konstan untuk SendInit tertentu, yaitu tidak berubah meskipun dipanggil. Hal ini karena callback juga digunakan untuk menghitung panjang TLV yang dituliskan tersebut, yang dapat diminta kapan saja.

Detail
Parameter
[in] aBuffer
Buffer tujuan, tempat beberapa TLV dapat ditulis
[in] aBufferLength
Panjang (dalam byte) buffer tujuan
[in,out] aNumBytesWritten
Jumlah byte yang ditulis ke buffering tujuan
[in] aAppState
Status aplikasi yang diberikan pengguna
Nilai Pengembalian
WEAVE_ERROR
Terjadi error.

Atribut publik

mAsynchronousModeSupported

bool mAsynchronousModeSupported

True jika kami dapat mendukung mode asinkron.

mDefiniteLength

bool mDefiniteLength

True jika terdapat kolom length.

mFileDesignator

ReferencedString mFileDesignator

String yang berisi informasi pra-negosiasi.

mLength

uint64_t mLength

Panjang data yang diusulkan dalam transfer, 0 untuk waktu tak terbatas.

mMaxBlockSize

uint16_t mMaxBlockSize

Ukuran blok maksimum yang diusulkan untuk digunakan dalam transfer.

mMetaData

ReferencedTLVData mMetaData

Metadata TLV opsional.

mMetaDataAppState

void * mMetaDataAppState

Status aplikasi opsional untuk Metadata TLV.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Fungsi opsional untuk menulis Metadata TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

True jika kami dapat mendukung drive penerima.

mSenderDriveSupported

bool mSenderDriveSupported

True jika kami dapat mendukung drive pengirim.

mStartOffset

uint64_t mStartOffset

Offset awal data yang diusulkan.

mStartOffsetPresent

bool mStartOffsetPresent

True jika ada kolom start offset.

mVersion

uint8_t mVersion

Versi protokol BDX yang kami putuskan.

mWideRange

bool mWideRange

True jika offset dan panjangnya 64 bit.

Fungsi publik

SendInit

 SendInit(
  void
)

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Lakukan inisialisasi SendInit "wide".

Detail
Parameter
[in] aVersion
Versi BDX yang kami gunakan
[in] aSenderDrive
True jika pengirim mengemudi
[in] aReceiverDrive
True jika penerima mengemudi
[in] aAsynchMode
True jika perangkat mendukung mode asinkron
[in] aMaxBlockSize
Proposal untuk ukuran blok maksimum untuk transfer ini
[in] aStartOffset
Offset awal dalam file yang akan kita mulai
[in] aLength
Panjang file yang akan ditransfer - 0 berarti file memiliki panjang yang tidak terbatas
[in] aFileDesignator
String yang mengidentifikasi data yang akan ditransfer
[in] aMetaData
(opsional) Data tambahan dalam format TLV
Hasil
WEAVE_NO_ERROR jika berhasil

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Lakukan inisialisasi SendInit "non-wide" (offset awal 32 bit, panjang 32 bit)

Detail
Parameter
[in] aVersion
Versi BDX yang kami gunakan
[in] aSenderDrive
True jika pengirim mengemudi
[in] aReceiverDrive
True jika penerima mengemudi
[in] aAsynchMode
True jika perangkat mendukung mode asinkron
[in] aMaxBlockSize
Proposal untuk ukuran blok maksimum untuk transfer ini
[in] aStartOffset
Offset awal dalam file yang akan kita mulai
[in] aLength
Panjang file yang akan ditransfer - 0 berarti file memiliki panjang yang tidak terbatas
[in] aFileDesignator
String yang mengidentifikasi data yang akan ditransfer
[in] aMetaData
(opsional) Data tambahan dalam format TLV
Hasil
WEAVE_NO_ERROR jika berhasil

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Lakukan inisialisasi SendInit "wide".

Detail
Parameter
[in] aVersion
Versi BDX yang kami gunakan
[in] aSenderDrive
True jika pengirim mengemudi
[in] aReceiverDrive
True jika penerima mengemudi
[in] aAsynchMode
True jika perangkat mendukung mode asinkron
[in] aMaxBlockSize
Proposal untuk ukuran blok maksimum untuk transfer ini
[in] aStartOffset
Offset awal dalam file yang akan kita mulai
[in] aLength
Panjang file yang akan ditransfer - 0 berarti file memiliki panjang yang tidak terbatas
[in] aFileDesignator
String yang mengidentifikasi data yang akan ditransfer
[in] aMetaDataWriteCallback
(opsional) Fungsi untuk menulis data tambahan dalam format TLV
[in] aMetaDataAppState
Konteks opsional untuk diteruskan ke aMetaDataWriteCallback
Hasil
WEAVE_NO_ERROR jika berhasil

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Lakukan inisialisasi SendInit "non-wide" (offset awal 32 bit, panjang 32 bit)

Detail
Parameter
[in] aVersion
Versi BDX yang kami gunakan
[in] aSenderDrive
True jika pengirim mengemudi
[in] aReceiverDrive
True jika penerima mengemudi
[in] aAsynchMode
True jika perangkat mendukung mode asinkron
[in] aMaxBlockSize
Proposal untuk ukuran blok maksimum untuk transfer ini
[in] aStartOffset
Offset awal dalam file yang akan kita mulai
[in] aLength
Panjang file yang akan ditransfer - 0 berarti file memiliki panjang yang tidak terbatas
[in] aFileDesignator
String yang mengidentifikasi data yang akan ditransfer
[in] aMetaDataWriteCallback
(opsional) Fungsi untuk menulis data tambahan dalam format TLV
[in] aMetaDataAppState
(opsional) Konteks yang akan diteruskan kembali ke fungsi callback
Hasil
WEAVE_NO_ERROR jika berhasil

operator==

bool operator==(
  const SendInit &
) const 

Perbandingan kesetaraan antara pesan SendInit.

Detail
Parameter
[in] another
Pesan SendInit lain untuk membandingkan
Hasil
benar jika mereka memiliki semua isian yang sama.

pak

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Mengemas pesan init kirim ke dalam PacketBuffer.

Detail
Parameter
[out] aBuffer
PacketBuffer untuk mengemas pesan SendInit di
Nilai Pengembalian
WEAVE_NO_ERROR
Jika berhasil
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika buffer terlalu kecil

packedLength

uint16_t packedLength(
  void
)

Menampilkan panjang paket pesan init yang dikirim.

Detail
Hasil
panjang pesan saat dikemas

Fungsi statis publik

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Mengurai data dari PacketBuffer ke dalam format pesan SendInit.

Detail
Parameter
[in] aBuffer
Pointer ke PacketBuffer yang memiliki data yang ingin kita urai
[out] aRequest
Pointer ke objek SendInit tempat kita harus menyimpan hasilnya
Nilai Pengembalian
WEAVE_NO_ERROR
Jika berhasil
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika buffer terlalu kecil