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 )
अगर गड़बड़ी हैंडलर सेट किया गया है, तो उसे कॉल करें.
अगर नीति को सेट नहीं किया जाता है, तो डिफ़ॉल्ट तरीके के तौर पर ट्रांसफ़र को बंद भी कर दें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
अगर get block हैंडलर सेट किया गया है, तो उसे कॉल करें.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
DispatchPutBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
अगर पुट ब्लॉक हैंडलर सेट किया गया है, तो उसे कॉल करें.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
DispatchReceiveAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
डिस्पैचर सिर्फ़ यह देखते हैं कि कोई हैंडलर सेट किया गया है या नहीं. इसके बाद, अगर हां, तो उसे कॉल करें.
अगर अनुरोध स्वीकार करने वाला हैंडलर सेट किया गया है, तो उसे कॉल करें.
इसलिए, इनका इस्तेमाल कॉलबैक को कॉल करने के लिए पब्लिक इंटरफ़ेस के तौर पर किया जाना चाहिए. इन्हें कभी भी बाहरी ऐप्लिकेशन से सीधे तौर पर संपर्क नहीं किया जाना चाहिए. ऐसा हो सकता है कि आने वाले समय में BDXTransfer के लिए किए जाने वाले बदलाव में, हर कॉलबैक के लिए अलग-अलग पॉइंटर सेव करने के बजाय, डेलिगेट ऑब्जेक्ट का इस्तेमाल किया जाए.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
कोई गड़बड़ी मान
|
DispatchRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
अगर अस्वीकार करने वाला हैंडलर सेट किया गया है, तो उसे कॉल करें.
अगर नीति को सेट नहीं किया जाता है, तो डिफ़ॉल्ट तरीके के तौर पर ट्रांसफ़र को बंद भी कर दें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
DispatchSendAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
अगर स्वीकार करने वाला हैंडलर सेट किया गया है, तो उसे कॉल करें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
कोई गड़बड़ी मान
|
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
अगर ट्रांसफ़र पूरा हुआ हैंडलर सेट किया गया है, तो उसे कॉल करें.
अगर नीति को सेट नहीं किया जाता है, तो डिफ़ॉल्ट तरीके के तौर पर ट्रांसफ़र को बंद भी कर दें.
DispatchXferErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler( StatusReport *aXferError )
अगर ट्रांसफ़र गड़बड़ी हैंडलर सेट किया गया है, तो उसे कॉल करें.
अगर नीति को सेट नहीं किया जाता है, तो डिफ़ॉल्ट तरीके के तौर पर ट्रांसफ़र को बंद भी कर दें.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
GetDefaultFlags
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags( bool 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 ऑब्जेक्ट पर हैंडलर सेट करता है.
आपको मैन्युअल तरीके से सेट करने के बजाय, हमेशा इस तरीके का इस्तेमाल करना चाहिए. ऐसा इसलिए, क्योंकि हैंडलर फ़ंक्शन पॉइंटर कैसे स्टोर किए जाते हैं, यह बताया जाना चाहिए कि यह सार्वजनिक एपीआई का हिस्सा नहीं है.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
बंद है
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
इस ट्रांसफ़र और आपके ऐप्लिकेशन लॉजिक से जुड़े किसी भी संसाधन को खाली करने के लिए, इस अवसर का इस्तेमाल करें.