nl:: Weave:: Profiles:: 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
מספר הבלוק הבא שאנחנו מצפים לקבל עבורו BlockQuery או blockACK בזמן השליחה (ברגע שההעברה תתחיל באופן רשמי).
|
mBytesSent
|
uint64_t
|
mExchangeContext
|
|
mFileDesignator
|
קובץ/לחסום חברים קשורים נתונים TODO: להסיר זאת? או האם עלינו פשוט לקבוע חוזה של מראה המחרוזת הזו, ואיך ייעשה בה שימוש? באופן ספציפי, האם הוא מגובה על ידי PacketBuffer? אם כן, סביר להניח שלא יישאר מקום למשך כל ה-xfer כי זה תופס
|
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
אם הוגדר ה-handler לחסימה של get, יש לקרוא לו.
|
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
void
אם הוגדר ה-handler של החסימה, מפעילים אותו.
|
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
|
סדרנים פשוט בודקים אם הוגדר handler ואז קוראים לו אם כן.
|
DispatchRejectHandler(StatusReport *aReport)
|
void
אם הוגדר handler לדחייה, מפעילים אותו.
|
DispatchSendAccept(SendAccept *aSendAcceptMsg)
|
אם הוגדר ה-handler של אישור השליחה, צריך להפעיל אותו.
|
DispatchXferDoneHandler(void)
|
void
אם הוגדר ה-handler שהועבר, צריך לקרוא לו.
|
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
הפונקציה הזו מגדירה את ה-handlers של אובייקט 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 כי זה תופס
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 )
אם הוגדר ה-handler לחסימה של get, יש לקרוא לו.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
DispatchPutBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
אם הוגדר ה-handler של החסימה, מפעילים אותו.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
DispatchReceiveAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
סדרנים פשוט בודקים אם הוגדר handler ואז קוראים לו אם כן.
אם הוגדר handler של קבלה, יש להפעיל אותו.
לכן, יש להשתמש בהם כממשק ציבורי להתקשרות חזרה, שאפליקציות חיצוניות לעולם לא יכולות לגעת בהם ישירות. ייתכן שבגרסה עתידית של BDXTransfer ייעשה שימוש באובייקט הענקת גישה במקום לאחסן מצביעים בודדים לכל אחת מהקריאות החוזרות.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך שגיאה
|
DispatchRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
אם הוגדר handler לדחייה, מפעילים אותו.
אם המדיניות לא מוגדרת, יש להשבית את ההעברה כברירת מחדל.
פרטים | |||
---|---|---|---|
פרמטרים |
|
DispatchSendAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
אם הוגדר ה-handler של אישור השליחה, צריך להפעיל אותו.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
ערך שגיאה
|
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
אם הוגדר ה-handler שהועבר, צריך לקרוא לו.
אם המדיניות לא מוגדרת, יש להשבית את ההעברה כברירת מחדל.
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.
פרטים | |
---|---|
החזרות |
TRUE אם הישות הזו היא הגורם המניע להעברה זו
|
איפוס
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 )
הפונקציה הזו מגדירה את ה-handlers של אובייקט BDXTransfer הזה.
תמיד כדאי להשתמש בשיטה הזו במקום לנסות להגדיר אותן באופן ידני, כי היישום הבסיסי של אופן האחסון של מצביעים של פונקציות handler לא כלול ב-API הציבורי.
פרטים | |||
---|---|---|---|
פרמטרים |
|
כיבוי
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
בהזדמנות הזו כדאי להשתמש כדי לפנות משאבים שקשורים להעברה הזו וללוגיקת האפליקציה שלך.