nl:: Weave:: Hồ sơ:: BDX_Growthment:: BDXTransfer
#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>
Cấu trúc này chứa các thành viên dữ liệu đại diện cho quá trình chuyển BDX đang hoạt động.
Tóm tắt
Những đối tượng này được BdxGiao thức sử dụng để duy trì trạng thái giao thức. Công cụ này được BdxServer quản lý, có chức năng xử lý việc tạo và khởi tạo các quá trình chuyển mới, bao gồm quản lý Connect 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 tôi dự kiến sẽ nhận được BlockQuery hoặc BlockACK khi gửi (sau khi quá trình chuyển chính thức).
|
mBytesSent
|
uint64_t
|
mExchangeContext
|
|
mFileDesignator
|
các tệp/chặn dữ liệu liên quan đến thành viên VIỆC CẦN LÀM: xóa mục này hay chúng ta chỉ nên thiết lập một hợp đồng nội dung của chuỗi này và cách sử dụng chuỗi đó? Cụ thể, đó có phải là một PacketBuffer hỗ trợ không? Nếu có, việc đó có thể không liên quan đến toàn bộ xfer vì việc đó sẽ chiếm một 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 bạn đã đặt trình xử lý lỗi, hãy gọi trình xử lý đó.
|
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
void
Nếu bạn đã đặt trình xử lý chặn, hãy gọi trình xử lý đó.
|
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
void
Nếu bạn đã đặt trình xử lý khối chặn, hãy gọi trình xử lý đó.
|
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
|
Điều phối chỉ đơn giản là kiểm tra xem trình xử lý đã được đặt hay chưa và sau đó gọi điện cho trình xử lý đó.
|
DispatchRejectHandler(StatusReport *aReport)
|
void
Nếu bạn đã đặt trình xử lý từ chối, hãy gọi trình xử lý đó.
|
DispatchSendAccept(SendAccept *aSendAcceptMsg)
|
Nếu bạn đã đặt trình xử lý chấp nhận gửi, hãy gọi trình xử lý đó.
|
DispatchXferDoneHandler(void)
|
void
Nếu bạn đã đặt trình xử lý chuyển xong, hãy gọi cho trình xử lý đó.
|
DispatchXferErrorHandler(StatusReport *aXferError)
|
void
Nếu bạn đã đặt trình xử lý lỗi chuyển, hãy gọi trình xử lý đó.
|
GetDefaultFlags(bool aExpectResponse)
|
uint16_t
Hàm này trả về những cờ mặc định được gửi kèm theo 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 đặt 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
Bộ khởi động
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator
mAmGửi
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 tôi dự kiến sẽ nhận được BlockQuery hoặc BlockACK khi gửi (sau khi quá trình chuyển chính thức).
Khi nhận được, đó là BlockSend tiếp theo mà chúng tôi dự kiến sẽ nhận được hoặc BlockQuery tiếp theo mà chúng tôi gửi (sau khi quá trình chuyển bắt đầu chính thức và lượt truy vấn đầu tiên đã gửi).
mBytesGửi
uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBytesSent
mExchangeContext
ExchangeContext * nl::Weave::Profiles::BDX_Development::BDXTransfer::mExchangeContext
Thiết kế tệp mFile
ReferencedString nl::Weave::Profiles::BDX_Development::BDXTransfer::mFileDesignator
các tệp/chặn dữ liệu liên quan đến thành viên VIỆC CẦN LÀM: xóa mục này hay chúng ta chỉ nên thiết lập một hợp đồng nội dung của chuỗi này và cách sử dụng chuỗi đó? Cụ thể, đó có phải là một PacketBuffer hỗ trợ không? Nếu có, việc đó có thể không liên quan đến toàn bộ xfer vì việc đó sẽ chiếm một pbuf
mFirstQuery
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery
trình xử lý
BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers
Đã chấp nhận mIs
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted
thành công
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully
Đã khởi tạo
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated
Phạm vi dải ô
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange
độ dài
uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength
mMaxBlockSize
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize
Tiếp theo
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
phiên bản mVersion
uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion
Hàm công khai
Trình xử lý lỗi gửi
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler( WEAVE_ERROR anErrorCode )
Nếu bạn đã đặt trình xử lý lỗi, hãy gọi trình xử lý đó.
Nếu bạn không đặt chính sách này, hãy tắt quá trình chuyển dưới dạng hành vi mặc định.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
Gửi trình xử lý
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
Nếu bạn đã đặt trình xử lý chặn, hãy gọi trình xử lý đó.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các thông số |
|
Trình xử lý khối
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
Nếu bạn đã đặt trình xử lý khối chặn, hãy gọi trình xử lý đó.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các thông số |
|
Chấp nhận công văn
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
Điều phối chỉ đơn giản là kiểm tra xem trình xử lý đã được đặt hay chưa và sau đó gọi điện cho trình xử lý đó.
Nếu bạn đã đặt trình xử lý chấp nhận nhận, hãy gọi trình xử lý đó.
Do đó, bạn nên sử dụng các giao diện này làm giao diện công khai cho các lệnh gọi lại, mà bạn không nên chạm trực tiếp vào các ứng dụng bên ngoài. Bản sửa đổi BDXTransfer trong tương lai sẽ dùng đối tượng ủy quyền thay vì lưu trữ từng con trỏ vào từng lệnh gọi lại.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Trả về |
giá trị lỗi
|
Trình xử lý gửi từ chối
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
Nếu bạn đã đặt trình xử lý từ chối, hãy gọi trình xử lý đó.
Nếu bạn không đặt chính sách này, hãy tắt quá trình chuyển dưới dạng hành vi mặc định.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
Gửi đi chấp nhận
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
Nếu bạn đã đặt trình xử lý chấp nhận gửi, hãy gọi trình xử lý đó.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Trả về |
giá trị lỗi
|
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
Nếu bạn đã đặt trình xử lý chuyển xong, hãy gọi cho trình xử lý đó.
Nếu bạn không đặt chính sách này, hãy tắt quá trình chuyển dưới dạng hành vi mặc định.
Trình xử lý lỗi xảy ra
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler( StatusReport *aXferError )
Nếu bạn đã đặt trình xử lý lỗi chuyển, hãy gọi trình xử lý đó.
Nếu bạn không đặt chính sách này, hãy tắt quá trình chuyển dưới dạng hành vi mặc định.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
GetDefaultFlags
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags( bool aExpectResponse )
Hàm này trả về những cờ mặc định được gửi kèm theo thông báo.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Trả về |
Cờ được gửi
|
Không đồng bộ
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 iff, quá trình chuyển không đồng bộ.
|
Là DriveDriver
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ề |
thực sự là pháp nhân này là người lái xe cho quá trình chuyể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 nguồn.
Trình xử lý đã đặt
void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers( BDXHandlers aHandlers )
Hàm này đặt trình xử lý trên đối tượng BDXTransfer này.
Bạn phải luôn sử dụng phương pháp này thay vì cố gắng đặt các phương thức này theo cách thủ công vì việc triển khai cơ bản của cách lưu trữ con trỏ hàm của trình xử lý không phải là một phần của API công khai.
Thông tin chi tiết | |||
---|---|---|---|
Các thông 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.