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
)

إذا تم ضبط معالج الأخطاء، يمكنك طلبه.

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

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

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