nl::Weave::Profiles::BDX_Development::BDXTransfer

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

इस स्ट्रक्चर में ऐसे डेटा सदस्य शामिल हैं जो ऐक्टिव BDX ट्रांसफ़र को दिखाते हैं.

खास जानकारी

प्रोटोकॉल की स्थिति बनाए रखने के लिए, BdxProtocol इन ऑब्जेक्ट का इस्तेमाल करता है. इन्हें BdxServer मैनेज करता है. यह नए ट्रांसफ़र बनाने और उन्हें शुरू करने का काम संभालता है. इसमें कनेक्शन और ExchangeContexts को मैनेज करना भी शामिल है.

सार्वजनिक एट्रिब्यूट

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
भेजने के लिए अगले ब्लॉक नंबर को BlockQuery या BlockACK मिल सकता है (आधिकारिक तौर पर ट्रांसफ़र शुरू होने के बाद).
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
फ़ाइल/ब्लॉक से जुड़े डेटा के सदस्यों के लिए TODO: इसे हटाएं? या हमें बस एक अनुबंध तय करना चाहिए कि यह स्ट्रिंग कैसी दिखेगी और इसका इस्तेमाल कैसे किया जाएगा? खास तौर पर, क्या यह पैकेटबफ़र की मदद से काम करता है? अगर ऐसा है, तो शायद यह पूरे एक्सफ़र के आस-पास नहीं रहना चाहिए, क्योंकि वह एक पबफ़ लेता है
mFirstQuery
bool
mHandlers
mIsAccepted
bool
mIsCompletedSuccessfully
bool
mIsInitiated
bool
mIsWideRange
bool
mLength
uint64_t
mMaxBlockSize
uint16_t
mNext)(BDXTransfer &)
mStartOffset
uint64_t
mTransferMode
uint8_t
mVersion
uint8_t

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

DispatchErrorHandler(WEAVE_ERROR anErrorCode)
void
अगर गड़बड़ी हैंडलर सेट किया गया है, तो उसे कॉल करें.
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
void
अगर get block हैंडलर सेट किया गया है, तो उसे कॉल करें.
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
void
अगर पुट ब्लॉक हैंडलर सेट किया गया है, तो उसे कॉल करें.
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
डिस्पैचर सिर्फ़ यह देखते हैं कि कोई हैंडलर सेट किया गया है या नहीं. इसके बाद, अगर हां, तो उसे कॉल करें.
DispatchRejectHandler(StatusReport *aReport)
void
अगर अस्वीकार करने वाला हैंडलर सेट किया गया है, तो उसे कॉल करें.
DispatchSendAccept(SendAccept *aSendAcceptMsg)
अगर स्वीकार करने वाला हैंडलर सेट किया गया है, तो उसे कॉल करें.
DispatchXferDoneHandler(void)
void
अगर ट्रांसफ़र पूरा हुआ हैंडलर सेट किया गया है, तो उसे कॉल करें.
DispatchXferErrorHandler(StatusReport *aXferError)
void
अगर ट्रांसफ़र गड़बड़ी हैंडलर सेट किया गया है, तो उसे कॉल करें.
GetDefaultFlags(bool aExpectResponse)
uint16_t
यह फ़ंक्शन, मैसेज के साथ भेजे जाने वाले डिफ़ॉल्ट फ़्लैग दिखाता है.
IsAsync(void)
bool
 Returns true if this transfer is asynchronous, false otherwise.
IsDriver(void)
bool
 Returns true if this entity (node) is the driver for this transfer, false otherwise.
Reset(void)
void
 Sets all pointers to NULL, resets counters, etc.
SetHandlers(BDXHandlers aHandlers)
void
यह फ़ंक्शन, इस BDXTransfer ऑब्जेक्ट पर हैंडलर सेट करता है.
Shutdown(void)
void
 Shuts down the current transfer, including closing any open ExchangeContext.

सार्वजनिक एट्रिब्यूट

mAmInitiator

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator

mAmSender

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmSender

mAppState

void * nl::Weave::Profiles::BDX_Development::BDXTransfer::mAppState

mBlockCounter

uint32_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBlockCounter

भेजने के लिए अगले ब्लॉक नंबर को BlockQuery या BlockACK मिल सकता है (आधिकारिक तौर पर ट्रांसफ़र शुरू होने के बाद).

ईमेल मिलने के बाद, हमें उम्मीद है कि अगले BlockSend या हमारे भेजे गए सबसे नए BlockQuery को ट्रांसफ़र करें (आधिकारिक तौर पर ट्रांसफ़र शुरू होने और भेजी गई पहली क्वेरी के बाद).

mBytesSent

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBytesSent

mExchangeContext

ExchangeContext * nl::Weave::Profiles::BDX_Development::BDXTransfer::mExchangeContext

mFileDesignator

ReferencedString nl::Weave::Profiles::BDX_Development::BDXTransfer::mFileDesignator

फ़ाइल/ब्लॉक से जुड़े डेटा के सदस्यों के लिए TODO: इसे हटाएं? या हमें बस एक अनुबंध तय करना चाहिए कि यह स्ट्रिंग कैसी दिखेगी और इसका इस्तेमाल कैसे किया जाएगा? खास तौर पर, क्या यह पैकेटबफ़र की मदद से काम करता है? अगर ऐसा है, तो शायद यह पूरे एक्सफ़र के आस-पास नहीं रहना चाहिए, क्योंकि वह एक पबफ़ लेता है

mFirstQuery

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery

mHandlers

BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers

mIsAccepted

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted

mIsCompletedSuccessfully

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully

mIsInitiated

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated

mIsWideRange

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange

mLength

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength

mMaxBlockSize

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize

mNext

WEAVE_ERROR(* nl::Weave::Profiles::BDX_Development::BDXTransfer::mNext)(BDXTransfer &)

mStartOffset

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mStartOffset

mTransferMode

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mTransferMode

mVersion

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion

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

DispatchErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler(
  WEAVE_ERROR anErrorCode
)

अगर गड़बड़ी हैंडलर सेट किया गया है, तो उसे कॉल करें.

अगर नीति को सेट नहीं किया जाता है, तो डिफ़ॉल्ट तरीके के तौर पर ट्रांसफ़र को बंद भी कर दें.

जानकारी
पैरामीटर
[in] anErrorCode
प्रोसेस होने वाला गड़बड़ी कोड

DispatchGetBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler(
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aLastBlock
)

अगर get block हैंडलर सेट किया गया है, तो उसे कॉल करें.

जानकारी
पैरामीटर
[in] aLength
ब्लॉक की लंबाई
[in] aDataBlock
डेटा ब्लॉक की ओर पॉइंटर
[in] aLastBlock
अगर ट्रांसफ़र में यह आखिरी ब्लॉक है, तो वैल्यू 'सही' होगी

DispatchPutBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler(
  uint64_t aLength,
  uint8_t *aDataBlock,
  bool aLastBlock
)

अगर पुट ब्लॉक हैंडलर सेट किया गया है, तो उसे कॉल करें.

जानकारी
पैरामीटर
[in] aLength
ब्लॉक की लंबाई
[in] aDataBlock
डेटा ब्लॉक की ओर पॉइंटर
[in] aLastBlock
अगर ट्रांसफ़र में यह आखिरी ब्लॉक है, तो वैल्यू 'सही' होगी

DispatchReceiveAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept(
  ReceiveAccept *aReceiveAcceptMsg
)

डिस्पैचर सिर्फ़ यह देखते हैं कि कोई हैंडलर सेट किया गया है या नहीं. इसके बाद, अगर हां, तो उसे कॉल करें.

अगर अनुरोध स्वीकार करने वाला हैंडलर सेट किया गया है, तो उसे कॉल करें.

इसलिए, इनका इस्तेमाल कॉलबैक को कॉल करने के लिए पब्लिक इंटरफ़ेस के तौर पर किया जाना चाहिए. इन्हें कभी भी बाहरी ऐप्लिकेशन से सीधे तौर पर संपर्क नहीं किया जाना चाहिए. ऐसा हो सकता है कि आने वाले समय में BDXTransfer के लिए किए जाने वाले बदलाव में, हर कॉलबैक के लिए अलग-अलग पॉइंटर सेव करने के बजाय, डेलिगेट ऑब्जेक्ट का इस्तेमाल किया जाए.

जानकारी
पैरामीटर
[in] aReceiveAcceptMsg
प्रोसेस करने के लिए, ReceiveAccept मैसेज पाएं
लौटाए गए सामान
कोई गड़बड़ी मान

DispatchRejectHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler(
  StatusReport *aReport
)

अगर अस्वीकार करने वाला हैंडलर सेट किया गया है, तो उसे कॉल करें.

अगर नीति को सेट नहीं किया जाता है, तो डिफ़ॉल्ट तरीके के तौर पर ट्रांसफ़र को बंद भी कर दें.

जानकारी
पैरामीटर
[in] aReport
स्टेटस रिपोर्ट मैसेज, जिसे प्रोसेस किया जाना है

DispatchSendAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept(
  SendAccept *aSendAcceptMsg
)

अगर स्वीकार करने वाला हैंडलर सेट किया गया है, तो उसे कॉल करें.

जानकारी
पैरामीटर
[in] aSendAcceptMsg
प्रोसेस किया जाने वाला मैसेज SendAccept के तौर पर भेजें
लौटाए गए सामान
कोई गड़बड़ी मान

DispatchXferDoneHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler(
  void
)

अगर ट्रांसफ़र पूरा हुआ हैंडलर सेट किया गया है, तो उसे कॉल करें.

अगर नीति को सेट नहीं किया जाता है, तो डिफ़ॉल्ट तरीके के तौर पर ट्रांसफ़र को बंद भी कर दें.

DispatchXferErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler(
  StatusReport *aXferError
)

अगर ट्रांसफ़र गड़बड़ी हैंडलर सेट किया गया है, तो उसे कॉल करें.

अगर नीति को सेट नहीं किया जाता है, तो डिफ़ॉल्ट तरीके के तौर पर ट्रांसफ़र को बंद भी कर दें.

जानकारी
पैरामीटर
[in] aXferError
प्रोसेस की जाने वाली किसी गड़बड़ी की स्थिति की रिपोर्ट

GetDefaultFlags

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags(
  bool aExpectResponse
)

यह फ़ंक्शन, मैसेज के साथ भेजे जाने वाले डिफ़ॉल्ट फ़्लैग दिखाता है.

जानकारी
पैरामीटर
[in] aExpectResponse
अगर हम इस मैसेज का जवाब चाहते हैं, तो
लौटाए गए सामान
भेजे जाने वाले फ़्लैग

IsAsync

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync(
  void
)

 Returns true if this transfer is asynchronous, false otherwise.

जानकारी
लौटाए गए सामान
सही है iff ट्रांसफ़र एसिंक्रोनस है.

IsDriver

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver(
  void
)

 Returns true if this entity (node) is the driver for this transfer, false otherwise.

जानकारी
लौटाए गए सामान
सही है अगर यह इकाई इस ट्रांसफ़र का ड्राइवर है

रीसेट करें

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset(
  void
)

 Sets all pointers to NULL, resets counters, etc.

शट डाउन होने पर कॉल किया गया.

SetHandlers

void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers(
  BDXHandlers aHandlers
)

यह फ़ंक्शन, इस BDXTransfer ऑब्जेक्ट पर हैंडलर सेट करता है.

आपको मैन्युअल तरीके से सेट करने के बजाय, हमेशा इस तरीके का इस्तेमाल करना चाहिए. ऐसा इसलिए, क्योंकि हैंडलर फ़ंक्शन पॉइंटर कैसे स्टोर किए जाते हैं, यह बताया जाना चाहिए कि यह सार्वजनिक एपीआई का हिस्सा नहीं है.

जानकारी
पैरामीटर
[in] aHandlers
कॉल किए जाने वाले कॉलबैक हैंडलर का स्ट्रक्चर

बंद है

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown(
  void
)

 Shuts down the current transfer, including closing any open ExchangeContext.

इस ट्रांसफ़र और आपके ऐप्लिकेशन लॉजिक से जुड़े किसी भी संसाधन को खाली करने के लिए, इस अवसर का इस्तेमाल करें.