nl:: বুনা:: প্রোফাইল:: বিডিএক্স_ডেভেলপমেন্ট:: 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 মেটাডেটার জন্য ঐচ্ছিক অ্যাপের অবস্থা।
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)
একটি PacketBuffer-এ একটি সেন্ড init বার্তা প্যাক করুন।
packedLength (void)
uint16_t
এই পাঠান init বার্তার প্যাক করা দৈর্ঘ্য ফেরত দেয়।

পাবলিক স্ট্যাটিক ফাংশন

parse (PacketBuffer *aBuffer, SendInit & aRequest)
একটি SendInit বার্তা বিন্যাসে একটি PacketBuffer থেকে ডেটা পার্স করুন।

পাবলিক প্রকার

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
কোন ত্রুটি সম্মুখীন হয়েছে.

পাবলিক বৈশিষ্ট্য

mAsynchronousMode সমর্থিত

bool mAsynchronousModeSupported

সত্য যদি আমরা অ্যাসিঙ্ক মোড সমর্থন করতে পারি।

mDefiniteLength

bool mDefiniteLength

দৈর্ঘ্য ক্ষেত্র উপস্থিত থাকলে সত্য।

mFileDesignator

ReferencedString mFileDesignator

প্রাক-আলোচনার তথ্য ধারণকারী স্ট্রিং।

m দৈর্ঘ্য

uint64_t mLength

স্থানান্তরের জন্য প্রস্তাবিত ডেটার দৈর্ঘ্য, অনির্দিষ্টকালের জন্য 0।

mMaxBlockSize

uint16_t mMaxBlockSize

স্থানান্তর ব্যবহার করার জন্য প্রস্তাবিত সর্বাধিক ব্লক আকার।

mMetaData

ReferencedTLVData mMetaData

ঐচ্ছিক TLV মেটাডেটা।

mMetaDataAppState

void * mMetaDataAppState

TLV মেটাডেটার জন্য ঐচ্ছিক অ্যাপের অবস্থা।

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

TLV মেটাডেটা লেখার জন্য ঐচ্ছিক ফাংশন।

mReceiverDrive সমর্থিত

bool mReceiverDriveSupported

সত্য যদি আমরা রিসিভার ড্রাইভ সমর্থন করতে পারি।

mSenderDrive সমর্থিত

bool mSenderDriveSupported

সত্য যদি আমরা প্রেরক ড্রাইভ সমর্থন করতে পারি।

mStartOffset

uint64_t mStartOffset

প্রস্তাবিত ডাটা অফসেট শুরু.

mStartOffsetPresent

bool mStartOffsetPresent

স্টার্ট অফসেট ক্ষেত্র উপস্থিত থাকলে সত্য।

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
)

একটি "অ-প্রশস্ত" 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
)

একটি "অ-প্রশস্ত" 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
)

একটি PacketBuffer-এ একটি সেন্ড init বার্তা প্যাক করুন।

বিস্তারিত
পরামিতি
[out] aBuffer
SendInit বার্তা প্যাক করার জন্য একটি প্যাকেটবাফার
রিটার্ন মান
WEAVE_NO_ERROR
সফল হলে
WEAVE_ERROR_BUFFER_TOO_SMALL
যদি বাফার খুব ছোট হয়

প্যাক করা দৈর্ঘ্য

uint16_t packedLength(
  void
)

এই পাঠান init বার্তার প্যাক করা দৈর্ঘ্য ফেরত দেয়।

বিস্তারিত
রিটার্নস
প্যাক করা হলে বার্তার দৈর্ঘ্য

পাবলিক স্ট্যাটিক ফাংশন

পার্স

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

একটি SendInit বার্তা বিন্যাসে একটি PacketBuffer থেকে ডেটা পার্স করুন।

বিস্তারিত
পরামিতি
[in] aBuffer
একটি PacketBuffer এর দিকে নির্দেশক যেখানে ডেটা রয়েছে যা আমরা বিশ্লেষণ করতে চাই
[out] aRequest
একটি SendInit অবজেক্টের দিকে নির্দেশ করুন যেখানে আমাদের ফলাফল সংরক্ষণ করা উচিত
রিটার্ন মান
WEAVE_NO_ERROR
সফল হলে
WEAVE_ERROR_BUFFER_TOO_SMALL
যদি বাফার খুব ছোট হয়