nl::Weave::الملفات الشخصية::BDX_ Developmentment::SendInit

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

يتم استخدام رسالة SendInit لبدء التبادل عندما يكون المُرسِل هو المُنشئ.

الملخّص

الاكتساب

الفئات الفرعية المعروفة مباشرةً: nl::Weave::Profiles::BDX_ Developmentment::ReceivedInit

الماكينات والبناء

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.
mMetaDataWriteCallback
دالة اختيارية لكتابة TLV البيانات الوصفية.
mReceiverDriveSupported
bool
صحيح إذا استطعنا دعم محرك أقراص المستلم.
mSenderDriveSupported
bool
صحيح إذا كان بإمكاننا دعم Drive للمرسل.
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)
تهيئة "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)
أدخِل رسالة 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 (ترميز أسرع) وتشفير الملفات بسرعة وسهولة (مع استخدام قدر أقل من الذاكرة) وترميز كسول (بشكل أسرع بسرعة عند بدء التشغيل) وما إلى ذلك كما تراه مناسبًا.

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

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

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

mAsynchronousModeSupported

bool mAsynchronousModeSupported

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

طول كلمة المرور

bool mDefiniteLength

صحيح إذا كان حقل الطول موجودًا.

mFileDesignator

ReferencedString mFileDesignator

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

طول متر

uint64_t mLength

طول اقتراح البيانات في عملية النقل، و0 لمدة غير محددة.

الحد الأقصى للحجم

uint16_t mMaxBlockSize

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

البيانات الوصفية

ReferencedTLVData mMetaData

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

حالة mmetaDataAppState

void * mMetaDataAppState

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

mmetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

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

mReceivedrDriveSupported

bool mReceiverDriveSupported

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

msenderDriveSupported

bool mSenderDriveSupported

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

mStartoffset

uint64_t mStartOffset

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

بدء عرض mStartoffset

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
)

تهيئة "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 إذا تم تنفيذه بنجاح

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
)

تهيئة "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 أخرى لمقارنة هذه الرسالة بـ
المرتجعات
صحيح إذا كانت لديهم جميع الحقول نفسها.

حزمة

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

أدخِل رسالة init في PacketBuffer.

التفاصيل
المعلَمات
[out] aBuffer
A 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
إذا كان المخزن المؤقت صغيرًا جدًا