nl:: بافت:: پروفایل ها:: BDX_Development:: BDXTransfer

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

این ساختار شامل اعضای داده ای است که انتقال فعال BDX را نشان می دهد.

خلاصه

این اشیاء توسط BdxProtocol برای حفظ وضعیت پروتکل استفاده می شوند. آنها توسط BdxServer مدیریت می شوند، که ایجاد و مقداردهی اولیه انتقالات جدید، از جمله مدیریت Connections و ExchangeContexts را مدیریت می کند.

صفات عمومی

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
The next block number we expect to receive a BlockQuery or BlockACK for when sending (once the transfer has officially started).
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
اگر کنترل کننده بلوک put تنظیم شده است، با آن تماس بگیرید.
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
This function sets the handlers on this BDXTransfer object.
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

The next block number we expect to receive a BlockQuery or BlockACK for when sending (once the transfer has officially started).

When receiving, it is the next BlockSend we expect to receive or the latest BlockQuery we sent (after the transfer has officially started and the first query sent that is).

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

mIsCompleted با موفقیت

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

میلی متر طول

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

توابع عمومی

DispatchError Handler

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
)

اگر کنترل کننده بلوک دریافت تنظیم شده است، با آن تماس بگیرید.

جزئیات
مولفه های
[in] aLength
طول بلوک
[in] aDataBlock
اشاره گر به بلوک داده
[in] aLastBlock
درست است اگر این آخرین بلوک در انتقال باشد

DispatchPutBlockHandler

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

اگر کنترل کننده بلوک put تنظیم شده است، با آن تماس بگیرید.

جزئیات
مولفه های
[in] aLength
طول بلوک
[in] aDataBlock
اشاره گر به بلوک داده
[in] aLastBlock
درست است اگر این آخرین بلوک در انتقال باشد

DispatchReceiveAccept

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

توزیع کنندگان به سادگی بررسی می کنند که آیا یک کنترلر تنظیم شده است یا خیر و در صورت وجود آن را فراخوانی می کنند.

اگر کنترل کننده دریافت دریافت تنظیم شده است، با آن تماس بگیرید.

بنابراین، اینها باید به عنوان رابط عمومی برای تماس های برگشتی استفاده شوند، که هرگز نباید مستقیماً توسط برنامه های کاربردی خارجی لمس شوند. It is possible that a future revision of BDXTransfer will use a delegate object rather than storing individual pointers to each of the callbacks.

جزئیات
مولفه های
[in] aReceiveAcceptMsg
پیام ReceiveAccept برای پردازش
برمی گرداند
یک مقدار خطا

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
گزارش وضعیت یک خطا برای پردازش

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.

جزئیات
برمی گرداند
اگر انتقال ناهمزمان باشد درست است.

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 تنظیم می کند.

همیشه باید از این روش استفاده کنید نه اینکه بخواهید آنها را به صورت دستی تنظیم کنید، زیرا اجرای اساسی نحوه ذخیره نشانگرهای تابع handler بخشی از API عمومی نیست.

جزئیات
مولفه های
[in] aHandlers
ساختار کنترل کننده های تماس برگشتی که باید فراخوانی شوند

خاموش شدن

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

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

از این فرصت برای آزاد کردن منابع مرتبط با این انتقال و منطق برنامه خود استفاده کنید.