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

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

Pesan SendInit digunakan untuk memulai pertukaran ketika pengirim adalah inisiator.

Ringkasan

Inheritance

Subclass yang Dikenal Langsung: 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 sarana yang dapat digunakan klien untuk menyediakan SendInit dengan metadata apa pun yang diinginkan.

Atribut publik

mAsynchronousModeSupported
bool
True jika kita dapat mendukung mode asinkron.
mDefiniteLength
bool
True jika ada kolom length.
mFileDesignator
String yang berisi informasi pra-negosiasi.
mLength
uint64_t
Usulan panjang data dalam transfer, 0 untuk tak tentu.
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 offset awal.
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)
Melakukan inisialisasi "wide" SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Melakukan inisialisasi "non-wide" SendInit (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)
Melakukan inisialisasi "wide" SendInit.
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)
Melakukan inisialisasi "non-wide" SendInit (offset awal 32 bit, panjang 32 bit)
operator==(const SendInit &) const
bool
Perbandingan kesetaraan antara pesan SendInit.
pack(PacketBuffer *aBuffer)
Mengemas pesan init pengiriman ke dalam PacketBuffer.
packedLength(void)
uint16_t
Menampilkan panjang paket pesan init pengiriman ini.

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 sarana yang dapat digunakan klien untuk menyediakan SendInit dengan metadata apa pun yang diinginkan.

Klien bebas menyediakan TLV pra-enkode (lebih cepat), mengenkode dengan cepat (menggunakan lebih sedikit memori), menjalankan lazy-encode (sedikit lebih cepat saat startup), dll. jika diperlukan.

Dalam semua kasus, data yang dihasilkan oleh callback dianggap konstan untuk SendInit tertentu, yaitu tidak berubah saat callback dipanggil. Hal ini karena callback juga digunakan untuk menghitung durasi 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 buffer tujuan
[in] aAppState
Status aplikasi yang disediakan pengguna
Nilai yang Ditampilkan
WEAVE_ERROR
Terjadi error.

Atribut publik

mAsynchronousModeSupported

bool mAsynchronousModeSupported

True jika kita dapat mendukung mode asinkron.

mDefiniteLength

bool mDefiniteLength

True jika ada kolom length.

mFileDesignator

ReferencedString mFileDesignator

String yang berisi informasi pra-negosiasi.

mLength

uint64_t mLength

Usulan panjang data dalam transfer, 0 untuk tak tentu.

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 offset awal.

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
)

Melakukan inisialisasi "wide" SendInit.

Detail
Parameter
[in] aVersion
Versi BDX yang kami gunakan
[in] aSenderDrive
Benar jika pengirim sedang mengemudi
[in] aReceiverDrive
Benar jika penerima mengemudi
[in] aAsynchMode
True jika perangkat mendukung mode asinkron
[in] aMaxBlockSize
Proposal ukuran pemblokiran maksimum untuk transfer ini
[in] aStartOffset
Offset awal dalam file yang seharusnya 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
)

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

Detail
Parameter
[in] aVersion
Versi BDX yang kami gunakan
[in] aSenderDrive
Benar jika pengirim sedang mengemudi
[in] aReceiverDrive
Benar jika penerima mengemudi
[in] aAsynchMode
True jika perangkat mendukung mode asinkron
[in] aMaxBlockSize
Proposal ukuran pemblokiran maksimum untuk transfer ini
[in] aStartOffset
Offset awal dalam file yang seharusnya 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
)

Melakukan inisialisasi "wide" SendInit.

Detail
Parameter
[in] aVersion
Versi BDX yang kami gunakan
[in] aSenderDrive
Benar jika pengirim sedang mengemudi
[in] aReceiverDrive
Benar jika penerima mengemudi
[in] aAsynchMode
True jika perangkat mendukung mode asinkron
[in] aMaxBlockSize
Proposal ukuran pemblokiran maksimum untuk transfer ini
[in] aStartOffset
Offset awal dalam file yang seharusnya 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 yang akan 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
)

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

Detail
Parameter
[in] aVersion
Versi BDX yang kami gunakan
[in] aSenderDrive
Benar jika pengirim sedang mengemudi
[in] aReceiverDrive
Benar jika penerima mengemudi
[in] aAsynchMode
True jika perangkat mendukung mode asinkron
[in] aMaxBlockSize
Proposal ukuran pemblokiran maksimum untuk transfer ini
[in] aStartOffset
Offset awal dalam file yang seharusnya 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 dibandingkan dengan pesan ini
Hasil
benar jika keduanya memiliki semua {i>field<i} yang sama.

pak

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Mengemas pesan init pengiriman ke dalam PacketBuffer.

Detail
Parameter
[out] aBuffer
PacketBuffer untuk mengemas pesan SendInit dalam
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika berhasil
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika buffer terlalu kecil

packedLength

uint16_t packedLength(
  void
)

Menampilkan panjang paket pesan init pengiriman ini.

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 berisi data yang ingin diurai
[out] aRequest
Pointer ke objek SendInit tempat kita akan menyimpan hasilnya
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika berhasil
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika buffer terlalu kecil