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 &)
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
)

ত্রুটি হ্যান্ডলার সেট করা থাকলে, এটি কল করুন.

সেট না থাকলে, ডিফল্ট আচরণ হিসাবে স্থানান্তর বন্ধ করুন।

বিস্তারিত
পরামিতি
[in] anErrorCode
ত্রুটি কোড প্রক্রিয়া করা হবে

ডিসপ্যাচগেটব্লকহ্যান্ডলার

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

গেট ব্লক হ্যান্ডলার সেট করা থাকলে, এটি কল করুন।

বিস্তারিত
পরামিতি
[in] aLength
ব্লকের দৈর্ঘ্য
[in] aDataBlock
তথ্য ব্লক নির্দেশক
[in] aLastBlock
সত্য যদি এটি স্থানান্তরের শেষ ব্লক হয়

ডিসপ্যাচপুটব্লকহ্যান্ডলার

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
প্রক্রিয়া করার জন্য বার্তা গ্রহণ করুন
রিটার্নস
একটি ত্রুটি মান

DispatchRejectHandler

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

প্রত্যাখ্যান হ্যান্ডলার সেট করা থাকলে, এটি কল করুন।

সেট না থাকলে, ডিফল্ট আচরণ হিসাবে স্থানান্তর বন্ধ করুন।

বিস্তারিত
পরামিতি
[in] aReport
StatusReport বার্তা প্রক্রিয়া করা হবে

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
একটি ত্রুটির অবস্থা রিপোর্ট প্রক্রিয়া করা হবে

GetDefault Flags

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.

বিস্তারিত
রিটার্নস
সত্য যদি স্থানান্তর অসিঙ্ক্রোনাস হয়।

আইএস ড্রাইভার

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 এর একটি অংশ নয়।

বিস্তারিত
পরামিতি
[in] aHandlers
কলব্যাক হ্যান্ডলারের গঠন কল করা হবে

শাটডাউন

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

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

এই স্থানান্তর এবং আপনার আবেদনের যুক্তির সাথে সম্পর্কিত যেকোন সংস্থান মুক্ত করতে এই সুযোগটি ব্যবহার করুন।