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) typedef
توفّر MetaDataTLVWriteCallback وسيلة يمكن للعميل من خلالها تقديم أي بيانات وصفية يريدها إلى SendInit.

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

mAsynchronousModeSupported
bool
True إذا تمكنا من إتاحة الوضع غير المتزامن.
mDefiniteLength
bool
True إذا كان حقل الطول موجودًا.
mFileDesignator
سلسلة تحتوي على معلومات تم التفاوض عليها مسبقًا
mLength
uint64_t
الطول المقترح للبيانات قيد النقل، 0 لفترة غير محدَّدة.
mMaxBlockSize
uint16_t
الحد الأقصى المقترح لحجم الكتلة لاستخدامه في عملية النقل.
mMetaData
البيانات الوصفية الاختيارية لقناة TLV
mMetaDataAppState
void *
حالة تطبيق اختيارية للبيانات الوصفية TLV.
mMetaDataWriteCallback
دالة اختيارية لكتابة البيانات الوصفية بتنسيق TLV
mReceiverDriveSupported
bool
True إذا كان يمكننا دعم محرك أقراص الاستقبال.
mSenderDriveSupported
bool
صحيح إذا كان بإمكاننا دعم محرك أقراص المرسل.
mStartOffset
uint64_t
إزاحة بداية مقترحة للبيانات.
mStartOffsetPresent
bool
صحيح إذا كان حقل إزاحة البداية متوفرًا.
mVersion
uint8_t
إصدار بروتوكول BDX الذي توصلنا إليه.
mWideRange
bool
True إذا كان الإزاحة والطول 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)
قم بتجميع رسالة إرسال في الحزم في PacketBuffer.
packedLength(void)
uint16_t
تعرض المدة الحزمة لرسالة send init هذه.

الدوال الثابتة العامة

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 (أسرع) المرمّز مسبقًا، فضلاً عن الترميز الفوري (يستخدم ذاكرة أقل)، والتشفير الكسول (أسرع في Litl عند بدء التشغيل)، وما إلى ذلك، حسبما يتلاءم مع ذلك.

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

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

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

mAsynchronousModeSupported

bool mAsynchronousModeSupported

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

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

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

mSenderDriveSupported

bool mSenderDriveSupported

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

mStartOffset

uint64_t mStartOffset

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

mStartOffsetPresent

bool mStartOffsetPresent

صحيح إذا كان حقل إزاحة البداية متوفرًا.

mVersion

uint8_t mVersion

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

mWideRange

bool mWideRange

True إذا كان الإزاحة والطول 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
True إذا كان المرسل يقود السيارة
[in] aReceiverDrive
True إذا كان المستلم يقود
[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
True إذا كان المرسل يقود السيارة
[in] aReceiverDrive
True إذا كان المستلم يقود
[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
True إذا كان المرسل يقود السيارة
[in] aReceiverDrive
True إذا كان المستلم يقود
[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
True إذا كان المرسل يقود السيارة
[in] aReceiverDrive
True إذا كان المستلم يقود
[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
)

تعرض المدة الحزمة لرسالة send init هذه.

التفاصيل
المرتجعات
طول الرسالة عند تعبئتها

الدوال الثابتة العامة

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

تحليل البيانات من PacketBuffer إلى تنسيق رسالة SendInit

التفاصيل
المَعلمات
[in] aBuffer
المؤشر إلى PacketBuffer الذي يحتوي على البيانات التي نريد تحليلها
[out] aRequest
مؤشر إلى كائن SendInit حيث يجب تخزين النتائج
قيم الإرجاع
WEAVE_NO_ERROR
إذا كانت ناجحة
WEAVE_ERROR_BUFFER_TOO_SMALL
إذا كان المخزن المؤقت صغيرًا جدًا