nl :: Dệt :: Hồ sơ :: 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 viên dữ liệu đại diện cho quá trình truyền BDX đang hoạt động.
Tóm lược
Các đối tượng này được BdxProtocol sử dụng để duy trì trạng thái giao thức. Chúng được quản lý bởi BdxServer, xử lý việc tạo và khởi tạo chuyển giao mới, bao gồm quản lý Connections và ExchangeContexts.
Thuộc tính công cộng | |
---|---|
mAmInitiator | bool |
mAmSender | bool |
mAppState | void * |
mBlockCounter | uint32_t Số khối tiếp theo mà chúng tôi mong đợi 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 | tập tin / khối dữ liệu liên quan thành viên CẦN LÀM: xóa cái này? hay chúng ta chỉ nên thiết lập một hợp đồng về chuỗi này có thể trông như thế nào và nó sẽ được sử dụng như thế nào? Cụ thể, nó có được hỗ trợ bởi PacketBuffer không? Nếu vậy, nó có lẽ không nên dính vào toàn bộ xfer vì điều đó chiếm một pbuf |
mFirstQuery | bool |
mHandlers | |
mIsAccepted | bool |
mIsCompletedSuccessfully | bool |
mIsInitiated | bool |
mIsWideRange | bool |
mLength | uint64_t |
mMaxBlockSize | uint16_t |
mNext )(BDXTransfer &) | WEAVE_ERROR (* |
mStartOffset | uint64_t |
mTransferMode | uint8_t |
mVersion | uint8_t |
Chức năng công cộng | |
---|---|
DispatchErrorHandler ( WEAVE_ERROR anErrorCode) | void Nếu trình xử lý lỗi đã được thiết lập, hãy gọi nó. |
DispatchGetBlockHandler (uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock) | void Nếu trình xử lý khối get đã được thiết lập, hãy gọi nó. |
DispatchPutBlockHandler (uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) | void Nếu trình xử lý khối đẩy đã được thiết lập, hãy gọi nó. |
DispatchReceiveAccept ( ReceiveAccept *aReceiveAcceptMsg) | Người điều phối chỉ cần kiểm tra xem một trình xử lý đã được thiết lập hay chưa và sau đó gọi nó nếu có. |
DispatchRejectHandler ( StatusReport *aReport) | void Nếu trình xử lý từ chối đã được thiết lập, hãy gọi nó. |
DispatchSendAccept ( SendAccept *aSendAcceptMsg) | Nếu trình xử lý chấp nhận gửi đã được thiết lập, hãy gọi nó. |
DispatchXferDoneHandler (void) | void Nếu trình xử lý chuyển giao thực hiện đã đượ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 nó. |
GetDefaultFlags (bool aExpectResponse) | uint16_t Hàm này trả về các cờ mặc định được gửi cùng với một tin nhắn. |
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 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 cộng
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 mong đợi 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à BlockSend tiếp theo mà chúng tôi mong đợi 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à 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
tập tin / khối dữ liệu liên quan thành viên CẦN LÀM: xóa cái này? hay chúng ta chỉ nên thiết lập một hợp đồng về chuỗi này có thể trông như thế nào và nó sẽ được sử dụng như thế nào? Cụ thể, nó có được hỗ trợ bởi PacketBuffer không? Nếu vậy, có lẽ nó không nên dính vào toàn bộ xfer vì điều đó chiếm một 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
mIsCompletedSuccess
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
Chức năng công cộng
DispatchErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler( WEAVE_ERROR anErrorCode )
Nếu trình xử lý lỗi đã được thiết lập, hãy gọi nó.
Nếu không được đặt, hãy tắt quá trình truyền tải như một hành vi mặc định.
Chi tiết | |||
---|---|---|---|
Thông số |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
Nếu trình xử lý khối get đã được thiết lập, hãy gọi nó.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
DispatchPutBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
Nếu trình xử lý khối đẩy đã được thiết lập, hãy gọi nó.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
DispatchReceiveAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
Người điều phối chỉ cần kiểm tra xem một trình xử lý đã được thiết lập hay chưa và sau đó gọi nó nếu có.
Nếu trình xử lý chấp nhận nhận đã được thiết lập, hãy gọi nó.
Do đó, chúng nên được sử dụng làm giao diện công khai để gọi các cuộc gọi lại, không bao giờ được các ứng dụng bên ngoài chạm trực tiếp vào. Có thể một bản sửa đổi trong tương lai của BDXTransfer sẽ sử dụng một đối tượng ủy quyền thay vì lưu trữ các con trỏ riêng lẻ đến từng lệnh gọi lại.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | một giá trị lỗi |
DispatchRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
Nếu trình xử lý từ chối đã được thiết lập, hãy gọi nó.
Nếu không được đặt, hãy tắt quá trình truyền tải như một hành vi mặc định.
Chi tiết | |||
---|---|---|---|
Thông số |
|
DispatchSendAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
Nếu trình xử lý chấp nhận gửi đã được thiết lập, hãy gọi nó.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | một giá trị lỗi |
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
Nếu trình xử lý chuyển giao thực hiện đã được thiết lập, hãy gọi nó.
Nếu không được đặt, hãy tắt quá trình truyền tải như một 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 thiết lập, hãy gọi nó.
Nếu không được đặt, hãy tắt quá trình truyền tải như một hành vi mặc định.
Chi tiết | |||
---|---|---|---|
Thông 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 được gửi cùng với một tin nhắn.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | Những lá cờ được gửi đi |
IsAsync
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync( void )
Returns true if this transfer is asynchronous, false otherwise.
Chi tiết | |
---|---|
Lợi nhuận | true iff quá trình chuyển giao là 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 | |
---|---|
Lợi nhuận | true iff thực thể này là trình điều khiển cho việc chuyển giao này |
Cài 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 máy.
SetHandlers
void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers( BDXHandlers aHandlers )
Hàm này đặt 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 pháp này thay vì cố gắng đặt chúng theo cách thủ công vì việ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 | |||
---|---|---|---|
Thông số |
|
Tắt
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
Sử dụng cơ hội này để giải phóng mọi tài nguyên liên quan đến việc chuyển giao này và logic ứng dụng của bạn.