nl::Weave::Profiles::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) تعريف الكتابة
توفّر MetaDataTLVWriteCallback وسيلة يمكن للعميل من خلالها تزويد عنصر SendInit بأي بيانات وصفية يريدها.

السمات العامة

mAsynchronousModeSupported
bool
صحيح إذا كان بإمكاننا إتاحة الوضع غير المتزامن.
mDefiniteLength
bool
True في حالة وجود حقل الطول.
mFileDesignator
سلسلة تحتوي على معلومات تم التفاوض عليها مسبقًا
mLength
uint64_t
الطول المقترح للبيانات أثناء النقل، 0 للبيانات غير المحدودة.
mMaxBlockSize
uint16_t
الحد الأقصى المقترح لحجمه في عملية النقل
mMetaData
بيانات TLV الوصفية الاختيارية.
mMetaDataAppState
void *
حالة التطبيق الاختيارية للبيانات الوصفية TLV
mMetaDataWriteCallback
دالة اختيارية لكتابة البيانات الوصفية لـ TLV.
mReceiverDriveSupported
bool
صحيح إذا كان يمكننا دعم محرك أقراص الاستقبال.
mSenderDriveSupported
bool
صحيح إذا كان بإمكاننا توفير محرك أقراص المرسل.
mStartOffset
uint64_t
إزاحة البداية المقترحة للبيانات.
mStartOffsetPresent
bool
True إذا كان حقل إزاحة البداية موجودًا.
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)
إعداد "non-wide" 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)
إعداد "non-wide" SendInit (إزاحة بداية 32 بت، وطول 32 بت)
operator==(const SendInit &) const
bool
مقارنة المساواة بين رسائل SendInit
pack(PacketBuffer *aBuffer)
ضع رسالة تهيئة إرسال في 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 بترميز مُسبَق (أسرع)، وترميزها بشكل فوري (يستخدم ذاكرة أقل)، والتشفير الكسول (سرعة أكبر قليلاً عند بدء التشغيل)، وغير ذلك، وفقًا لما يناسب احتياجاتك.

في جميع الحالات، يُفترض أن تكون البيانات الناتجة عن عملية الاستدعاء ثابتة لدالة SendInit معيّنة، أي أنها لا تتغير بغض النظر عن وقت استدعائها. ويرجع ذلك إلى أنّ الاستدعاء يُستخدم أيضًا لحساب طول أي TLV مكتوب، والذي يمكن طلبه في أي وقت.

التفاصيل
المعلمات
[in] aBuffer
المخزن المؤقت الوجهة، الذي يمكن كتابة بعض TLV إليه
[in] aBufferLength
طول المخزن المؤقت للوجهة (بالبايت)
[in,out] aNumBytesWritten
عدد وحدات البايت التي تمت كتابتها في المخزن المؤقت للوجهة
[in] aAppState
حالة التطبيق المقدَّمة من المستخدم
قيم الإرجاع
WEAVE_ERROR
حدث أي خطأ.

السمات العامة

mAsynchronousModeSupported

bool mAsynchronousModeSupported

صحيح إذا كان بإمكاننا إتاحة الوضع غير المتزامن.

mDefiniteLength

bool mDefiniteLength

True في حالة وجود حقل الطول.

mFileDesignator

ReferencedString mFileDesignator

سلسلة تحتوي على معلومات تم التفاوض عليها مسبقًا

mLength

uint64_t mLength

الطول المقترح للبيانات أثناء النقل، 0 للبيانات غير المحدودة.

mMaxBlockSize

uint16_t mMaxBlockSize

الحد الأقصى المقترح لحجمه في عملية النقل

mMetaData

ReferencedTLVData mMetaData

بيانات TLV الوصفية الاختيارية.

mMetaDataAppState

void * mMetaDataAppState

حالة التطبيق الاختيارية للبيانات الوصفية TLV

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

دالة اختيارية لكتابة البيانات الوصفية لـ TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

صحيح إذا كان يمكننا دعم محرك أقراص الاستقبال.

mSenderDriveSupported

bool mSenderDriveSupported

صحيح إذا كان بإمكاننا توفير محرك أقراص المرسل.

mStartOffset

uint64_t mStartOffset

إزاحة البداية المقترحة للبيانات.

mStartOffsetPresent

bool mStartOffsetPresent

True إذا كان حقل إزاحة البداية موجودًا.

mVersion

uint8_t mVersion

هو إصدار بروتوكول BDX الذي حدّدناه.

mWideRange

bool mWideRange

صحيح إذا كانت الإزاحة والطول 64 بت.

وظائف عامة

SendInit

 SendInit(
  void
)

إعداد

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 في حال نجاح الإجراء

إعداد

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
)

إعداد "non-wide" 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 في حال نجاح الإجراء

إعداد

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 في حال نجاح الإجراء

إعداد

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
)

إعداد "non-wide" 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
(اختياري) سياق ليتم تمريره مرة أخرى إلى دالة رد الاتصال
المرتجعات
WEAVE_NO_ERROR في حال نجاح الإجراء

عامل التشغيل==

bool operator==(
  const SendInit &
) const 

مقارنة المساواة بين رسائل SendInit

التفاصيل
المعلمات
[in] another
رسالة SendInit أخرى لمقارنة هذه الرسالة بـ
المرتجعات
true إذا كانت تحتوي على جميع الحقول نفسها.

حزمة

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

ضع رسالة تهيئة إرسال في PacketBuffer.

التفاصيل
المعلمات
[out] aBuffer
حزمة PacketBuffer لتعبئة الرسالة SendInit
قيم الإرجاع
WEAVE_NO_ERROR
في حال نجاح الإجراء
WEAVE_ERROR_BUFFER_TOO_SMALL
إذا كان المخزن المؤقت صغيرًا جدًا

packedLength

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
إذا كان المخزن المؤقت صغيرًا جدًا