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 أو سياسة حظر ACK عليه عند الإرسال (بعد بدء عملية النقل رسميًا).
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
ملف/حظر أعضاء البيانات ذات الصلة بـ TODO: هل تريد إزالة هذا؟ أم يجب علينا فقط وضع عقد لما قد تبدو عليه هذه السلسلة وكيف سيتم استخدامها؟ على وجه التحديد، هل مدعوم بواسطة PacketBuffer؟ إذا كان الأمر كذلك، فربما لا ينبغي أن يستمر هذا المحتوى طوال الوقت لأن ذلك يستغرق وقتًا طويلاً
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 أو سياسة حظر ACK عليه عند الإرسال (بعد بدء عملية النقل رسميًا).

عند استلام الرسالة، تكون رسالة 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؟ إذا كان الأمر كذلك، فربما لا ينبغي أن يستمر هذا المحتوى طوال الوقت لأن ذلك يستغرق وقتًا طويلاً

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
)

في حال ضبط معالج الأخطاء، اتصل به.

وإذا لم يتم ضبط السياسة، عليك أيضًا إيقاف عملية النقل كسلوك تلقائي.

التفاصيل
المَعلمات
[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
)

في حال ضبط معالج حظر الوضع، اتصل به.

التفاصيل
المَعلمات
[in] aLength
طول القطعة
[in] aDataBlock
مؤشر إلى كتلة البيانات
[in] aLastBlock
صحيح إذا كان هذا هو الجزء الأخير من عملية النقل

DispatchReceiveAccept

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

يتحقق المرسلون ببساطة مما إذا كان قد تم تعيين المعالج أم لا، ثم يستدعونه في هذه الحالة.

إذا كان قد تم ضبط معالج قبول الاستلام، يمكنك الاتصال به.

ولذلك، يجب استخدام هذه الواجهة كواجهة عامة لاستدعاء عمليات رد الاتصال، والتي يجب ألا تتأثر التطبيقات الخارجية مباشرةً. من الممكن أن تستخدم نسخة مستقبلية لـ BDXTransfer كائنًا مفوضًا بدلاً من تخزين مؤشرات فردية لكل عملية استدعاء.

التفاصيل
المَعلمات
[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.

التفاصيل
المرتجعات
true إذا كان النقل غير متزامن.

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.

يجب دائمًا استخدام هذه الطريقة بدلاً من محاولة إعدادها يدويًا لأن التنفيذ الأساسي لكيفية تخزين مؤشرات الدوالّ في المعالج ليس جزءًا من واجهة برمجة التطبيقات العامة.

.

التفاصيل
المَعلمات
[in] aHandlers
بنية معالِجات معاودة الاتصال المطلوب استدعائها

إيقاف التشغيل

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

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

اغتنم هذه الفرصة لإخلاء أي موارد مرتبطة بعملية النقل هذه ومنطق طلب التقديم.