nl:: Weave:: Profiles:: BDX_Development:: BDXTransfer
#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>
Cấu trúc này chứa các thành phần dữ liệu đại diện cho một quá trình chuyển BDX đang hoạt động.
Tóm tắt
Các đối tượng này được BdxProtocol sử dụng để duy trì trạng thái giao thức. Chúng do BdxServer quản lý, giúp xử lý việc tạo và khởi tạo các quy trình chuyển dữ liệu mới, bao gồm cả việc quản lý Connections và ExchangeContexts.
Thuộc tính công khai |
|
---|---|
mAmInitiator
|
bool
|
mAmSender
|
bool
|
mAppState
|
void *
|
mBlockCounter
|
uint32_t
Số khối tiếp theo mà chúng ta dự kiến sẽ nhận được một BlockQuery hoặc BlockACK khi gửi (sau khi quá trình chuyển chính thức bắt đầu).
|
mBytesSent
|
uint64_t
|
mExchangeContext
|
|
mFileDesignator
|
TODO: hãy xoá chuỗi này? hay chỉ cần thiết lập một hợp đồng về dạng của chuỗi này và cách sử dụng? Cụ thể, nó có được một Gói đệm hỗ trợ không? Nếu có, có lẽ bạn không nên dùng hết toàn bộ xfer vì như vậy sẽ chiếm 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
|
Hàm công khai |
|
---|---|
DispatchErrorHandler(WEAVE_ERROR anErrorCode)
|
void
Nếu trình xử lý lỗi đã được đặt, hãy gọi nó.
|
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
void
Nếu đã thiết lập trình xử lý khối lệnh, hãy gọi trình xử lý này.
|
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
void
Nếu đã thiết lập trình xử lý khối lệnh, hãy gọi hàm này.
|
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
|
Trình điều phối chỉ cần kiểm tra xem trình xử lý đã được thiết lập hay chưa rồi gọi nếu đã thiết lập trình xử lý.
|
DispatchRejectHandler(StatusReport *aReport)
|
void
Nếu trình xử lý từ chối đã được đặt, hãy gọi nó.
|
DispatchSendAccept(SendAccept *aSendAcceptMsg)
|
Nếu đã thiết lập trình xử lý chấp nhận gửi, hãy gọi trình xử lý này.
|
DispatchXferDoneHandler(void)
|
void
Nếu trình xử lý chuyển hoàn tất đã được thiết lập, hãy gọi nó.
|
DispatchXferErrorHandler(StatusReport *aXferError)
|
void
Nếu trình xử lý lỗi chuyển đã được đặt, hãy gọi trình xử lý này.
|
GetDefaultFlags(bool aExpectResponse)
|
uint16_t
Hàm này trả về các cờ mặc định sẽ được gửi cùng với thông báo.
|
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
Hàm này thiết lập các trình xử lý trên đối tượng BDXTransfer này.
|
Shutdown(void)
|
void
Shuts down the current transfer, including closing any open ExchangeContext. |
Thuộc tính công khai
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
Số khối tiếp theo mà chúng ta dự kiến sẽ nhận được một BlockQuery hoặc BlockACK khi gửi (sau khi quá trình chuyển chính thức bắt đầu).
Khi nhận được, đó là BlockSend tiếp theo mà chúng tôi dự kiến sẽ nhận được hoặc BlockQuery mới nhất mà chúng tôi đã gửi (sau khi quá trình chuyển chính thức bắt đầu và đó là truy vấn đầu tiên được gửi đi).
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: hãy xoá chuỗi này? hay chỉ cần thiết lập một hợp đồng về dạng của chuỗi này và cách sử dụng? Cụ thể, nó có được một Gói đệm hỗ trợ không? Nếu có, có lẽ bạn không nên dùng hết toàn bộ xfer vì như vậy sẽ chiếm 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
Hàm công khai
DispatchErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler( WEAVE_ERROR anErrorCode )
Nếu trình xử lý lỗi đã được đặt, hãy gọi nó.
Nếu bạn không đặt chính sách này, hãy tắt tính năng chuyển dưới dạng hành vi mặc định.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
Nếu đã thiết lập trình xử lý khối lệnh, hãy gọi trình xử lý này.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
DispatchPutBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
Nếu đã thiết lập trình xử lý khối lệnh, hãy gọi hàm này.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
DispatchReceiveAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
Trình điều phối chỉ cần kiểm tra xem trình xử lý đã được thiết lập hay chưa rồi gọi nếu đã thiết lập trình xử lý.
Nếu đã thiết lập trình xử lý chấp nhận nhận, hãy gọi trình xử lý này.
Do đó, bạn nên sử dụng các lớp này làm giao diện công khai để gọi lại các lệnh gọi lại, vốn không được chạm trực tiếp bởi các ứng dụng bên ngoài. Có thể bản sửa đổi trong tương lai của BDXTransfer sẽ sử dụng đối tượng uỷ quyền thay vì lưu trữ con trỏ riêng lẻ vào từng lệnh gọi lại.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
||
Trả về |
giá trị sai số
|
DispatchRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
Nếu trình xử lý từ chối đã được đặt, hãy gọi nó.
Nếu bạn không đặt chính sách này, hãy tắt tính năng chuyển dưới dạng hành vi mặc định.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
DispatchSendAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
Nếu đã thiết lập trình xử lý chấp nhận gửi, hãy gọi trình xử lý này.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
||
Trả về |
giá trị sai số
|
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
Nếu trình xử lý chuyển hoàn tất đã được thiết lập, hãy gọi nó.
Nếu bạn không đặt chính sách này, hãy tắt tính năng chuyển dưới dạng hành vi mặc định.
DispatchXferErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler( StatusReport *aXferError )
Nếu trình xử lý lỗi chuyển đã được đặt, hãy gọi trình xử lý này.
Nếu bạn không đặt chính sách này, hãy tắt tính năng chuyển dưới dạng hành vi mặc định.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
GetDefaultFlags
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags( bool aExpectResponse )
Hàm này trả về các cờ mặc định sẽ được gửi cùng với thông báo.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
||
Trả về |
Cờ sẽ được gửi
|
IsAsync
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync( void )
Returns true if this transfer is asynchronous, false otherwise.
Thông tin chi tiết | |
---|---|
Trả về |
true nếu quá trình chuyển không đồng bộ.
|
IsDriver
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver( void )
Returns true if this entity (node) is the driver for this transfer, false otherwise.
Thông tin chi tiết | |
---|---|
Trả về |
true nếu pháp nhân này là tác nhân gây ra việc chuyển khoản này
|
Đặt lại
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset( void )
Sets all pointers to NULL, resets counters, etc.
Được gọi khi tắt.
SetHandlers
void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers( BDXHandlers aHandlers )
Hàm này thiết lập các trình xử lý trên đối tượng BDXTransfer này.
Bạn nên luôn sử dụng phương thức này thay vì cố gắng thiết lập theo cách thủ công vì việc triển khai cơ bản cách lưu trữ con trỏ hàm của trình xử lý không thuộc API công khai.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
Tắt
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
Hãy tận dụng cơ hội này để giải phóng mọi tài nguyên liên quan đến quá trình chuyển này và logic ứng dụng của bạn.