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ố
[in] anErrorCode
Mã lỗi cần xử lý

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ố
[in] aLength
Độ dài của khối
[in] aDataBlock
Con trỏ đến khối dữ liệu
[in] aLastBlock
Đúng nếu đây là lần chặn cuối cùng trong quá trình chuyển

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ố
[in] aLength
Độ dài của khối
[in] aDataBlock
Con trỏ đến khối dữ liệu
[in] aLastBlock
Đúng nếu đây là lần chặn cuối cùng trong quá trình chuyển

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ố
[in] aReceiveAcceptMsg
ReceiveAccept cần xử lý tin nhắn
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ố
[in] aReport
Thông báo StatusReport cần được xử lý

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ố
[in] aSendAcceptMsg
Thông báo SendAccept để xử lý
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ố
[in] aXferError
Báo cáo trạng thái về lỗi cần được xử lý

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ố
[in] aExpectResponse
Nếu chúng tôi nhận được phản hồi cho thư này
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ố
[in] aHandlers
Cấu trúc của trình xử lý gọi lại được gọi

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