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
|
ไฟล์/บล็อกสมาชิกที่เกี่ยวข้องกับข้อมูลสิ่งที่ต้องทำ: ลบสิ่งนี้ออก หรือเราเพียงจัดทำสัญญาว่าสตริงนี้มีลักษณะอย่างไรและจะนำไปใช้อย่างไร โดยเฉพาะอย่างยิ่ง มีการสนับสนุนโดย 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
หากตั้งค่าเครื่องจัดการบล็อก Pull แล้ว ให้เรียกใช้
|
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
ไฟล์/บล็อกสมาชิกที่เกี่ยวข้องกับข้อมูลสิ่งที่ต้องทำ: ลบสิ่งนี้ออก หรือเราเพียงจัดทำสัญญาว่าสตริงนี้มีลักษณะอย่างไรและจะนำไปใช้อย่างไร โดยเฉพาะอย่างยิ่ง มีการสนับสนุนโดย 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 )
หากตัวแฮนเดิลข้อผิดพลาดตั้งค่าไว้ ให้เรียกใช้
หากไม่ได้ตั้งค่าไว้ ให้ปิดการโอนตามลักษณะการทำงานเริ่มต้น
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
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 )
หากตั้งค่าเครื่องจัดการบล็อก Pull แล้ว ให้เรียกใช้
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
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.
รายละเอียด | |
---|---|
การส่งคืน |
เพราะการโอนเป็นแบบไม่พร้อมกัน
|
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 นี้
คุณควรใช้วิธีนี้แทนการพยายามตั้งค่าด้วยตนเองเสมอ เนื่องจากการติดตั้งใช้งานที่สำคัญเกี่ยวกับวิธีจัดเก็บตัวชี้ฟังก์ชันของเครื่องจัดการไม่ได้เป็นส่วนหนึ่งของ API สาธารณะ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ปิดการทำงาน
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
ใช้โอกาสนี้เพื่อปล่อยทรัพยากรที่เกี่ยวข้องกับการโอนนี้และตรรกะของแอปพลิเคชันของคุณ