nl:: بافت:: پروفایل ها:: BDX_Development:: SendInit

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

پیام SendInit برای شروع یک تبادل زمانی که فرستنده آغازگر است استفاده می شود.

خلاصه

وراثت

زیر کلاس های شناخته شده مستقیم: nl::Weave::Profiles::BDX_Development::ReceiveInit

سازندگان و ویرانگرها

SendInit (void)

انواع عمومی

MetaDataTLVWriteCallback )(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback ابزاری را فراهم می کند که به وسیله آن یک کلاینت می تواند SendInit را با هر ابرداده ای که می خواهد عرضه کند.

صفات عمومی

mAsynchronousModeSupported
bool
درست است اگر بتوانیم از حالت همگام سازی پشتیبانی کنیم.
mDefiniteLength
bool
اگر فیلد طول موجود باشد درست است.
mFileDesignator
رشته ای حاوی اطلاعات از پیش مذاکره شده
mLength
uint64_t
طول پیشنهادی داده در انتقال، 0 برای نامحدود.
mMaxBlockSize
uint16_t
حداکثر اندازه بلوک پیشنهادی برای استفاده در انتقال.
mMetaData
فراداده TLV اختیاری.
mMetaDataAppState
void *
وضعیت برنامه اختیاری برای TLV Metadata.
mMetaDataWriteCallback
تابع اختیاری برای نوشتن فراداده TLV .
mReceiverDriveSupported
bool
درست است اگر بتوانیم درایو گیرنده را پشتیبانی کنیم.
mSenderDriveSupported
bool
درست است اگر بتوانیم درایو فرستنده را پشتیبانی کنیم.
mStartOffset
uint64_t
آفست شروع پیشنهادی داده ها.
mStartOffsetPresent
bool
اگر فیلد شروع افست وجود داشته باشد درست است.
mVersion
uint8_t
نسخه پروتکل BDX که ما تصمیم گرفتیم.
mWideRange
bool
درست است اگر افست و طول 64 بیت باشد.

توابع عمومی

init (uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
یک SendInit "گسترده" را راه اندازی کنید.
init (uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
راه اندازی یک SendInit "غیر گسترده" (32 بیت شروع افست، 32 بیت طول)
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)
یک 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)
راه اندازی یک SendInit "غیر گسترده" (32 بیت شروع افست، 32 بیت طول)
operator== (const SendInit &) const
bool
مقایسه برابری بین پیام های SendInit .
pack (PacketBuffer *aBuffer)
پیام ارسال init را در یک PacketBuffer بسته بندی کنید.
packedLength (void)
uint16_t
طول بسته بندی شده این پیام ارسال اولیه را برمی گرداند.

توابع استاتیک عمومی

parse (PacketBuffer *aBuffer, SendInit & aRequest)
داده ها را از یک PacketBuffer در قالب پیام SendInit تجزیه کنید.

انواع عمومی

MetaDataTLVWriteCallback

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

MetaDataTLVWriteCallback ابزاری را فراهم می کند که به وسیله آن یک کلاینت می تواند SendInit را با هر ابرداده ای که می خواهد عرضه کند.

مشتری مختار است که TLV از پیش رمزگذاری شده (سریع تر)، کدگذاری در حین پرواز (از حافظه کمتری استفاده می کند)، کد تنبل (در راه اندازی کمی سریعتر) و غیره را به دلخواه خود ارائه کند.

در همه موارد، فرض بر این است که داده های تولید شده توسط callback برای یک SendInit مشخص ثابت است، یعنی مهم نیست که چه زمانی فراخوانی شود. این به این دلیل است که از callback نیز برای محاسبه طول هر TLV نوشته شده استفاده می شود، که می تواند در هر زمان درخواست شود.

جزئیات
مولفه های
[in] aBuffer
بافر مقصد، که مقداری TLV را می توان در آن نوشت
[in] aBufferLength
طول (بر حسب بایت) بافر مقصد
[in,out] aNumBytesWritten
تعداد بایت های نوشته شده در بافر مقصد
[in] aAppState
وضعیت برنامه ارائه شده توسط کاربر
ارزش های بازگشتی
WEAVE_ERROR
هر گونه خطایی رخ داده است.

صفات عمومی

mAsynchronousMode پشتیبانی می شود

bool mAsynchronousModeSupported

درست است اگر بتوانیم از حالت همگام سازی پشتیبانی کنیم.

mDefiniteLength

bool mDefiniteLength

اگر فیلد طول موجود باشد درست است.

mFileDesignator

ReferencedString mFileDesignator

رشته ای حاوی اطلاعات از پیش مذاکره شده

میلی متر طول

uint64_t mLength

طول پیشنهادی داده در انتقال، 0 برای نامحدود.

mMaxBlockSize

uint16_t mMaxBlockSize

حداکثر اندازه بلوک پیشنهادی برای استفاده در انتقال.

mMetaData

ReferencedTLVData mMetaData

فراداده TLV اختیاری.

mMetaDataAppState

void * mMetaDataAppState

وضعیت برنامه اختیاری برای TLV Metadata.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

تابع اختیاری برای نوشتن فراداده TLV .

mReceiverDriveSupported

bool mReceiverDriveSupported

درست است اگر بتوانیم درایو گیرنده را پشتیبانی کنیم.

mSenderDriveSupported

bool mSenderDriveSupported

درست است اگر بتوانیم درایو فرستنده را پشتیبانی کنیم.

mStartOffset

uint64_t mStartOffset

آفست شروع پیشنهادی داده ها.

mStartOffsetPresent

bool mStartOffsetPresent

اگر فیلد شروع افست وجود داشته باشد درست است.

mVersion

uint8_t mVersion

نسخه پروتکل BDX که ما تصمیم گرفتیم.

mWideRange

bool mWideRange

درست است اگر افست و طول 64 بیت باشد.

توابع عمومی

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
)

یک SendInit "گسترده" را راه اندازی کنید.

جزئیات
مولفه های
[in] aVersion
نسخه BDX که ما از آن استفاده می کنیم
[in] aSenderDrive
درست است اگر فرستنده در حال رانندگی باشد
[in] aReceiverDrive
درست است اگر گیرنده در حال رانندگی باشد
[in] aAsynchMode
اگر دستگاه از حالت ناهمزمان پشتیبانی کند درست است
[in] aMaxBlockSize
پیشنهاد برای حداکثر اندازه بلوک برای این انتقال
[in] aStartOffset
شروع افست در فایلی که باید از آن شروع کنیم
[in] aLength
طول فایلی که باید منتقل شود - 0 به این معنی است که طول آن نامحدود است
[in] aFileDesignator
رشته ای که داده هایی را که قرار است منتقل شوند مشخص می کند
[in] aMetaData
(اختیاری) داده های اضافی در قالب TLV
برمی گرداند
WEAVE_NO_ERROR در صورت موفقیت

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
)

راه اندازی یک SendInit "غیر گسترده" (32 بیت شروع افست، 32 بیت طول)

جزئیات
مولفه های
[in] aVersion
نسخه BDX که ما از آن استفاده می کنیم
[in] aSenderDrive
درست است اگر فرستنده در حال رانندگی باشد
[in] aReceiverDrive
درست است اگر گیرنده در حال رانندگی باشد
[in] aAsynchMode
اگر دستگاه از حالت ناهمزمان پشتیبانی کند درست است
[in] aMaxBlockSize
پیشنهاد برای حداکثر اندازه بلوک برای این انتقال
[in] aStartOffset
شروع افست در فایلی که باید از آن شروع کنیم
[in] aLength
طول فایلی که باید منتقل شود - 0 به این معنی است که طول آن نامحدود است
[in] aFileDesignator
رشته ای که داده هایی را که قرار است منتقل شوند مشخص می کند
[in] aMetaData
(اختیاری) داده های اضافی در قالب TLV
برمی گرداند
WEAVE_NO_ERROR در صورت موفقیت

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
)

یک SendInit "گسترده" را راه اندازی کنید.

جزئیات
مولفه های
[in] aVersion
نسخه BDX که ما از آن استفاده می کنیم
[in] aSenderDrive
درست است اگر فرستنده در حال رانندگی باشد
[in] aReceiverDrive
درست است اگر گیرنده در حال رانندگی باشد
[in] aAsynchMode
اگر دستگاه از حالت ناهمزمان پشتیبانی کند درست است
[in] aMaxBlockSize
پیشنهاد برای حداکثر اندازه بلوک برای این انتقال
[in] aStartOffset
شروع افست در فایلی که باید از آن شروع کنیم
[in] aLength
طول فایلی که باید منتقل شود - 0 به این معنی است که طول آن نامحدود است
[in] aFileDesignator
رشته ای که داده هایی را که قرار است منتقل شوند مشخص می کند
[in] aMetaDataWriteCallback
(اختیاری) تابعی برای نوشتن داده های اضافی در قالب TLV
[in] aMetaDataAppState
یک زمینه اختیاری برای ارسال به aMetaDataWriteCallback
برمی گرداند
WEAVE_NO_ERROR در صورت موفقیت

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
)

راه اندازی یک SendInit "غیر گسترده" (32 بیت شروع افست، 32 بیت طول)

جزئیات
مولفه های
[in] aVersion
نسخه BDX که ما از آن استفاده می کنیم
[in] aSenderDrive
درست است اگر فرستنده در حال رانندگی باشد
[in] aReceiverDrive
درست است اگر گیرنده در حال رانندگی باشد
[in] aAsynchMode
اگر دستگاه از حالت ناهمزمان پشتیبانی کند درست است
[in] aMaxBlockSize
پیشنهاد برای حداکثر اندازه بلوک برای این انتقال
[in] aStartOffset
شروع افست در فایلی که باید از آن شروع کنیم
[in] aLength
طول فایلی که باید منتقل شود - 0 به این معنی است که طول آن نامحدود است
[in] aFileDesignator
رشته ای که داده هایی را که قرار است منتقل شوند مشخص می کند
[in] aMetaDataWriteCallback
(اختیاری) تابعی برای نوشتن داده های اضافی در قالب TLV
[in] aMetaDataAppState
(اختیاری) زمینه ای که باید دوباره به تابع callback ارسال شود
برمی گرداند
WEAVE_NO_ERROR در صورت موفقیت

اپراتور==

bool operator==(
  const SendInit &
) const 

مقایسه برابری بین پیام های SendInit .

جزئیات
مولفه های
[in] another
یک پیام SendInit دیگر برای مقایسه این یکی با
برمی گرداند
درست است اگر همه فیلدهای یکسان داشته باشند.

بسته

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

پیام ارسال init را در یک PacketBuffer بسته بندی کنید.

جزئیات
مولفه های
[out] aBuffer
یک PacketBuffer برای بسته بندی پیام SendInit در آن
ارزش های بازگشتی
WEAVE_NO_ERROR
در صورت موفقیت
WEAVE_ERROR_BUFFER_TOO_SMALL
اگر بافر خیلی کوچک است

طول بسته بندی شده

uint16_t packedLength(
  void
)

طول بسته بندی شده این پیام ارسال اولیه را برمی گرداند.

جزئیات
برمی گرداند
طول پیام هنگام بسته بندی

توابع استاتیک عمومی

تجزیه

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

داده ها را از یک PacketBuffer در قالب پیام SendInit تجزیه کنید.

جزئیات
مولفه های
[in] aBuffer
اشاره گر به PacketBuffer که دارای داده هایی است که می خواهیم تجزیه کنیم
[out] aRequest
اشاره گر به یک شی SendInit که در آن باید نتایج را ذخیره کنیم
ارزش های بازگشتی
WEAVE_NO_ERROR
در صورت موفقیت
WEAVE_ERROR_BUFFER_TOO_SMALL
اگر بافر خیلی کوچک است