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 hoạt động 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. Các thư viện này do BdxServer quản lý. BdxServer sẽ xử lý việc tạo và khởi tạo các hoạt động chuyển dữ liệu mới, bao gồm cả việc quản lý các kết nối và ExchangeContexts.
Các 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 (khi quá trình chuyển chính thức bắt đầu).
|
mBytesSent
|
uint64_t
|
mExchangeContext
|
|
mFileDesignator
|
thành viên dữ liệu có liên quan đến tệp/khối TODO: xoá nội dung này? hay chúng ta chỉ nên lập một hợp đồng về hình thức và cách sử dụng chuỗi này? Cụ thể, tệp này có được PacketBuffer hỗ trợ không? Nếu có thì có lẽ nó không nên dùng đến suốt
|
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 đã thiết lập trình xử lý khối nhận, hãy gọi trình xử lý đó.
|
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
void
Nếu đã đặt trình xử lý khối lệnh, hãy gọi trình xử lý đó.
|
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
|
Trình điều phối chỉ 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.
|
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 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ề 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. |
Các 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 tôi dự kiến sẽ nhận được BlockQuery hoặc BlockACK khi gửi (khi quá trình chuyển chính thức bắt đầu).
Khi nhận được, đó là lần tiếp theo BlockSend mà chúng tôi dự kiến sẽ nhận được hoặc là 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à 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
thành viên dữ liệu có liên quan đến tệp/khối TODO: xoá nội dung này? hay chúng ta chỉ nên lập một hợp đồng về hình thức và cách sử dụng chuỗi này? Cụ thể, tệp này có được PacketBuffer hỗ trợ không? Nếu có thì có lẽ nó không nên dùng đến suốt
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 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, cũng hãy tắt tính năng truyền dưới dạng hành vi mặc định.
Chi tiết | |||
---|---|---|---|
Tham số |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
Nếu bạn đã thiết lập trình xử lý khối nhận, hãy gọi trình xử lý đó.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
DispatchPutBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
Nếu đã đặt trình xử lý khối lệnh, hãy gọi trình xử lý đó.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
DispatchReceiveAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
Trình điều phối chỉ 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.
Nếu bạn đã thiết lập trình xử lý nhận chấp nhận, hãy gọi trình xử lý này.
Do đó, bạn nên dùng các giao diện này làm giao diện công khai để gọi lệnh gọi lại. Các ứng dụng bên ngoài không nên chạm trực tiếp vào các lệnh gọi lại này. 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ữ từng con trỏ vào từng lệnh gọi lại.
Chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
giá trị lỗi
|
DispatchRejectHandler
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, cũng hãy tắt tính năng truyền dưới dạng hành vi mặc định.
Chi tiết | |||
---|---|---|---|
Tham số |
|
DispatchSendAccept
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ý đó.
Chi tiết | |||
---|---|---|---|
Tham 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 trình xử lý đó.
Nếu bạn không đặt chính sách này, cũng hãy tắt tính năng truyền dưới dạng hành vi mặc định.
DispatchXferErrorHandler
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, cũng hãy tắt tính năng truyền dưới dạng hành vi mặc định.
Chi tiết | |||
---|---|---|---|
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.
Chi tiết | |||
---|---|---|---|
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.
Chi tiết | |
---|---|
Trả về |
true nếu quá trình truyề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.
Chi tiết | |
---|---|
Trả về |
true iff thực thể này là người điều khiển 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.
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 phải luôn sử dụng phương thức này thay vì cố gắng đặt chúng theo cách thủ công vì phương thức triển khai cơ bản về 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.
Chi tiết | |||
---|---|---|---|
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.
B