nl:: बुना::प्रोफ़ाइलें::BDX_डेवलपमेंट::SendInit

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

SendInit मैसेज का इस्तेमाल तब किया जाता है, जब भेजने वाला शुरू करने वाला हो.

खास जानकारी

इनहेरिटेंस

डायरेक्ट जाने-पहचाने सब-क्लास: nl::Weave::Profiles::BDX_डेवलपमेंट::GetInit

कंस्ट्रक्टर और कंस्ट्रक्टर

SendInit(void)

सार्वजनिक प्रकार

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) टाइपडेफ़
मेटाडेटा TLVWriteCallback की मदद से, कोई ऐसा तरीका मिलता है जिससे क्लाइंट अपने हिसाब से किसी भी मेटाडेटा के साथ 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)
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)
operator==(const SendInit &) const
bool
SendInit मैसेज के बीच तुलना.
pack(PacketBuffer *aBuffer)
Sendinit मैसेज को PacketBuffer में पैक करें.
packedLength(void)
uint16_t
भेजे जाने वाले इस init मैसेज की पैक की गई लंबाई को दिखाता है.

सार्वजनिक स्थिर फ़ंक्शन

parse(PacketBuffer *aBuffer, SendInit & aRequest)
डेटा को PacketBuffer से SendInit के मैसेज फ़ॉर्मैट में पार्स करें.

सार्वजनिक प्रकार

मेटाडेटा TLVWriteकॉलबैक

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

मेटाडेटा TLVWriteCallback की मदद से, कोई ऐसा तरीका मिलता है जिससे क्लाइंट अपने हिसाब से किसी भी मेटाडेटा के साथ SendInit दे सकता है.

क्लाइंट के पास पहले से एन्कोड किए गए टीएलवी (ज़्यादा तेज़), ऑन-द-फ़्लाई एन्कोडिंग (कम मेमोरी इस्तेमाल करने वाला), लेज़ी-एन्कोड (स्टार्टअप पर थोड़ा कम) वगैरह जैसी ज़रूरत के मुताबिक डिवाइस उपलब्ध कराने के लिए फ़्री है.

सभी मामलों में, यह माना जाता है कि दिए गए SendInit के लिए, कॉलबैक से जनरेट किया गया डेटा स्थिर है. इसका मतलब है कि कॉल करने पर, इसमें कोई बदलाव नहीं होगा. ऐसा इसलिए होता है, क्योंकि कॉलबैक का इस्तेमाल ऐसी किसी भी लिखी हुई टीएलवी की लंबाई का हिसाब लगाने के लिए भी किया जाता है, जिसका अनुरोध किसी भी समय किया जा सकता है.

ब्यौरा
पैरामीटर
[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.

mMaxब्लॉक साइज़

uint16_t mMaxBlockSize

ट्रांसफ़र में इस्तेमाल के लिए सुझाया गया ज़्यादा से ज़्यादा ब्लॉक साइज़.

mMetaData

ReferencedTLVData mMetaData

वैकल्पिक TLV मेटाडेटा.

mMetaDataAppState

void * mMetaDataAppState

TLV मेटाडेटा के लिए वैकल्पिक ऐप्लिकेशन स्थिति.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

TLV मेटाडेटा लिखने के लिए वैकल्पिक फ़ंक्शन.

mGetrDrive के साथ काम करता है

bool mReceiverDriveSupported

अगर हम रिसीव ड्राइव के साथ काम कर पाते हैं, तो सही है.

mSenderDrive पर काम करता है

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
)

& "नॉन-वाइड&कोटेशन; इनीशियल 3In बिट स्टार्ट ऑफ़सेट, 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
)

& "नॉन-वाइड&कोटेशन; इनीशियल 3In बिट स्टार्ट ऑफ़सेट, 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 का एक और मैसेज
लौटाए गए सामान
सही{/1} अगर सभी में सभी फ़ील्ड हैं.

पैक

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Sendinit मैसेज को PacketBuffer में पैक करें.

ब्यौरा
पैरामीटर
[out] aBuffer
SendInit मैसेज को पैक करने के लिए, PackeBuffer
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर हो गया, तो
WEAVE_ERROR_BUFFER_TOO_SMALL
अगर बफ़र बहुत छोटा है

पैक किया गया समय

uint16_t packedLength(
  void
)

भेजे जाने वाले इस init मैसेज की पैक की गई लंबाई को दिखाता है.

ब्यौरा
लौटाए गए सामान
पैक किए जाने पर मैसेज की लंबाई

सार्वजनिक स्थिर फ़ंक्शन

पार्स करें

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

डेटा को PacketBuffer से SendInit के मैसेज फ़ॉर्मैट में पार्स करें.

ब्यौरा
पैरामीटर
[in] aBuffer
उस PacketBuffer की ओर इशारा करें जिसमें वह डेटा है जिसे हम पार्स करना चाहते हैं
[out] aRequest
SendInit ऑब्जेक्ट की ओर इशारा करता है, जहां हमें नतीजे स्टोर कर लेने चाहिए
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर हो गया, तो
WEAVE_ERROR_BUFFER_TOO_SMALL
अगर बफ़र बहुत छोटा है