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 )
إذا تم ضبط معالج الأخطاء، يمكنك طلبه.
وفي حال تم ترك السياسة بدون ضبط، سيتم أيضًا إيقاف عملية النقل كخيار تلقائي.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
إذا تم ضبط معالِج حظر تلقّي البيانات، عليك الاتصال به.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
DispatchPutBlockHandler
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 )
إذا تم ضبط معالِج خطأ النقل، عليك طلبه.
وفي حال تم ترك السياسة بدون ضبط، سيتم أيضًا إيقاف عملية النقل كخيار تلقائي.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
GetDefaultFlags
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.
التفاصيل | |
---|---|
المرتجعات |
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.
عليك دائمًا استخدام هذه الطريقة بدلاً من محاولة ضبطها يدويًا، إذ إنّ التنفيذ الأساسي لكيفية تخزين مؤشرات دالة المعالج ليس جزءًا من واجهة برمجة التطبيقات العامة.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
إيقاف التشغيل
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
استفِد من هذه الفرصة لإخلاء أي موارد مرتبطة بعملية النقل هذه ومنطق تطبيقك.