nl:: বুনা:: প্রোফাইল:: বিডিএক্স_ডেভেলপমেন্ট:: বিডিএক্স ট্রান্সফার
#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>
এই কাঠামোতে একটি সক্রিয় BDX স্থানান্তরের প্রতিনিধিত্বকারী ডেটা সদস্য রয়েছে।
সারাংশ
এই বস্তুগুলি BdxProtocol দ্বারা প্রোটোকল অবস্থা বজায় রাখতে ব্যবহার করা হয়। এগুলি BdxServer দ্বারা পরিচালিত হয়, যা সংযোগ এবং এক্সচেঞ্জ কনটেক্সট পরিচালনা সহ নতুন স্থানান্তর তৈরি এবং শুরু করার কাজ পরিচালনা করে।
পাবলিক বৈশিষ্ট্য | |
---|---|
mAmInitiator | bool |
mAmSender | bool |
mAppState | void * |
mBlockCounter | uint32_t পরবর্তী ব্লক নম্বরটি পাঠানোর সময় আমরা একটি BlockQuery বা BlockACK পাওয়ার আশা করি (একবার স্থানান্তর আনুষ্ঠানিকভাবে শুরু হয়ে গেলে)। |
mBytesSent | uint64_t |
mExchangeContext | |
mFileDesignator | ফাইল/ব্লক সম্পর্কিত ডেটা সদস্যদের করণীয়: এটি সরান? অথবা আমাদের কি এই স্ট্রিংটি দেখতে কেমন হতে পারে এবং এটি কীভাবে ব্যবহার করা হবে তার একটি চুক্তি স্থাপন করা উচিত? বিশেষত, এটি একটি প্যাকেটবাফার দ্বারা সমর্থিত? যদি তাই হয়, এটি সম্ভবত পুরো xfer এর জন্য আটকে থাকা উচিত নয় কারণ এটি একটি pbuf নেয় |
mFirstQuery | bool |
mHandlers | |
mIsAccepted | bool |
mIsCompletedSuccessfully | bool |
mIsInitiated | bool |
mIsWideRange | bool |
mLength | uint64_t |
mMaxBlockSize | uint16_t |
mNext )(BDXTransfer &) | WEAVE_ERROR (* |
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 পাওয়ার আশা করি (একবার স্থানান্তর আনুষ্ঠানিকভাবে শুরু হয়ে গেলে)।
গ্রহণ করার সময়, এটি পরবর্তী ব্লকসেন্ড যা আমরা পাওয়ার আশা করি বা আমাদের পাঠানো সর্বশেষ BlockQuery (স্থানান্তরটি আনুষ্ঠানিকভাবে শুরু হওয়ার পরে এবং প্রথম প্রশ্নটি পাঠানোর পরে)।
mBytes প্রেরিত
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
ফাইল/ব্লক সম্পর্কিত ডেটা সদস্যদের করণীয়: এটি সরান? অথবা আমাদের কি এই স্ট্রিংটি দেখতে কেমন হতে পারে এবং এটি কীভাবে ব্যবহার করা হবে তার একটি চুক্তি স্থাপন করা উচিত? বিশেষত, এটি একটি প্যাকেটবাফার দ্বারা সমর্থিত? যদি তাই হয়, এটি সম্ভবত পুরো xfer এর জন্য আটকে থাকা উচিত নয় কারণ এটি একটি pbuf নেয়
mFirstQuery
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery
mHandlers
BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers
mIs গৃহীত
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted
সফলভাবে সম্পন্ন হয়েছে
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully
এমআইসচিটেড
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated
mIsWideRange
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange
m দৈর্ঘ্য
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
পাবলিক ফাংশন
ডিসপ্যাচ ত্রুটি হ্যান্ডলার
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler( WEAVE_ERROR anErrorCode )
ত্রুটি হ্যান্ডলার সেট করা থাকলে, এটি কল করুন.
সেট না থাকলে, ডিফল্ট আচরণ হিসাবে স্থানান্তর বন্ধ করুন।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
|
ডিসপ্যাচগেটব্লকহ্যান্ডলার
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
গেট ব্লক হ্যান্ডলার সেট করা থাকলে, এটি কল করুন।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
ডিসপ্যাচপুটব্লকহ্যান্ডলার
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 )
যদি স্থানান্তর ত্রুটি হ্যান্ডলার সেট করা হয়, এটি কল করুন.
সেট না থাকলে, ডিফল্ট আচরণ হিসাবে স্থানান্তর বন্ধ করুন।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
|
GetDefault Flags
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.
বিস্তারিত | |
---|---|
রিটার্নস | সত্য যদি স্থানান্তর অসিঙ্ক্রোনাস হয়। |
আইএস ড্রাইভার
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.
বন্ধ হলে ডাকা হয়।
সেটহ্যান্ডলার
void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers( BDXHandlers aHandlers )
এই ফাংশনটি এই BDXTransfer অবজেক্টে হ্যান্ডলার সেট করে।
হ্যান্ডলার ফাংশন পয়েন্টারগুলি কীভাবে সংরক্ষণ করা হয় তার অন্তর্নিহিত বাস্তবায়ন হিসাবে ম্যানুয়ালি সেট করার চেষ্টা করার পরিবর্তে আপনার সর্বদা এই পদ্ধতিটি ব্যবহার করা উচিত পাবলিক API এর একটি অংশ নয়।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
|
শাটডাউন
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
এই স্থানান্তর এবং আপনার আবেদনের যুক্তির সাথে সম্পর্কিত যেকোন সংস্থান মুক্ত করতে এই সুযোগটি ব্যবহার করুন।