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: इसे हटाएं? या आपको बस एक अनुबंध करना चाहिए कि यह स्ट्रिंग कैसी दिख सकती है और इसका इस्तेमाल कैसे किया जाएगा? खास तौर पर, क्या यह PacketBuffer का इस्तेमाल करता है? अगर ऐसा है, तो इसे शायद पूरे xfer के लिए नहीं रखना चाहिए, क्योंकि यह एक pbuf लेता है
|
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
अगर 'ब्लॉक करें' हैंडलर सेट किया गया है, तो उसे कॉल करें.
|
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: इसे हटाएं? या आपको बस एक अनुबंध करना चाहिए कि यह स्ट्रिंग कैसी दिख सकती है और इसका इस्तेमाल कैसे किया जाएगा? खास तौर पर, क्या यह PacketBuffer का इस्तेमाल करता है? अगर ऐसा है, तो इसे शायद पूरे xfer के लिए नहीं रखना चाहिए, क्योंकि यह एक pbuf लेता है
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 )
अगर 'ब्लॉक करें' हैंडलर सेट किया गया है, तो उसे कॉल करें.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
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.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
सही iff इस इकाई के लिए ही यह इकाई ट्रांसफ़र की जाती है
|
रीसेट करें
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.
इस अनुरोध और अपने ऐप्लिकेशन के लॉजिक से जुड़े सभी संसाधनों को खाली करने के लिए, इस अवसर का इस्तेमाल करें.