nl::Weave::Profiles::BDX_Development::SendInit

#include <src/lib/profiles/bulk-data-transfer/Development/BDXMessages.h>

Tin nhắn SendInit được dùng để bắt đầu quá trình trao đổi khi người gửi là người tạo.

Tóm tắt

Tính kế thừa

Các lớp con đã biết trực tiếp: nl::Weave::Profiles::BDX_Development::ReceiveInit

Hàm khởi tạo và hàm phá

SendInit(void)

Loại công khai

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback cung cấp một phương thức mà ứng dụng có thể cung cấp SendInit với bất kỳ siêu dữ liệu nào họ muốn.

Thuộc tính công khai

mAsynchronousModeSupported
bool
Đúng nếu chúng tôi có thể hỗ trợ chế độ không đồng bộ.
mDefiniteLength
bool
Đúng nếu có trường độ dài.
mFileDesignator
Chuỗi chứa thông tin được thương lượng trước.
mLength
uint64_t
Độ dài dữ liệu được đề xuất trong quá trình chuyển, 0 cho vô thời hạn.
mMaxBlockSize
uint16_t
Kích thước khối tối đa được đề xuất để sử dụng trong quá trình chuyển.
mMetaData
Siêu dữ liệu TLV không bắt buộc.
mMetaDataAppState
void *
Trạng thái ứng dụng không bắt buộc đối với siêu dữ liệu TLV.
mMetaDataWriteCallback
Hàm không bắt buộc để ghi siêu dữ liệu TLV.
mReceiverDriveSupported
bool
Đúng nếu chúng tôi có thể hỗ trợ ổ đĩa nhận.
mSenderDriveSupported
bool
Đúng nếu chúng tôi có thể hỗ trợ bộ nhớ của người gửi.
mStartOffset
uint64_t
Mức chênh lệch bắt đầu đề xuất của dữ liệu.
mStartOffsetPresent
bool
Đúng nếu có trường bù trừ bắt đầu.
mVersion
uint8_t
Phiên bản của giao thức BDX mà chúng tôi đã quyết định.
mWideRange
bool
"True" nếu độ lệch và độ dài là 64 bit.

Hàm công khai

init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Khởi chạy SendInit "rộng".
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Khởi chạy SendInit "không rộng" (độ lệch bắt đầu 32 bit, độ dài 32 bit)
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Khởi chạy SendInit "rộng".
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Khởi chạy SendInit "không rộng" (độ lệch bắt đầu 32 bit, độ dài 32 bit)
operator==(const SendInit &) const
bool
So sánh bình đẳng giữa các thông báo SendInit.
pack(PacketBuffer *aBuffer)
Đóng gói thông báo khởi tạo để gửi vào một PacketBuffer.
packedLength(void)
uint16_t
Trả về thời lượng đóng gói của thông báo gửi init này.

Hàm tĩnh công khai

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Phân tích cú pháp dữ liệu từ PacketBuffer thành định dạng thông báo SendInit.

Loại công khai

MetaDataTLVWriteCallback

WEAVE_ERROR(* MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState)

MetaDataTLVWriteCallback cung cấp một phương thức mà ứng dụng có thể cung cấp SendInit với bất kỳ siêu dữ liệu nào họ muốn.

Máy khách có thể miễn phí cung cấp TLV được mã hoá trước (nhanh hơn), mã hoá nhanh (sử dụng ít bộ nhớ hơn), mã hoá từng phần (littl nhanh hơn khi khởi động), v.v. khi họ thấy phù hợp.

Trong mọi trường hợp, giả định rằng dữ liệu do lệnh gọi lại tạo ra là không đổi đối với một SendInit nhất định, tức là không thay đổi bất kể thời điểm gọi lại. Điều này là do lệnh gọi lại cũng được dùng để tính toán độ dài của mọi TLV đã ghi như vậy và có thể được yêu cầu bất cứ lúc nào.

Thông tin chi tiết
Các tham số
[in] aBuffer
Vùng đệm đích, nơi có thể ghi một số TLV vào
[in] aBufferLength
Độ dài (tính bằng byte) của vùng đệm đích
[in,out] aNumBytesWritten
Số byte được ghi vào vùng đệm đích
[in] aAppState
Trạng thái của ứng dụng do người dùng cung cấp
Giá trị trả về
WEAVE_ERROR
Đã xảy ra lỗi.

Thuộc tính công khai

mAsynchronousModeSupported

bool mAsynchronousModeSupported

Đúng nếu chúng tôi có thể hỗ trợ chế độ không đồng bộ.

mDefiniteLength

bool mDefiniteLength

Đúng nếu có trường độ dài.

mFileDesignator

ReferencedString mFileDesignator

Chuỗi chứa thông tin được thương lượng trước.

mLength

uint64_t mLength

Độ dài dữ liệu được đề xuất trong quá trình chuyển, 0 cho vô thời hạn.

mMaxBlockSize

uint16_t mMaxBlockSize

Kích thước khối tối đa được đề xuất để sử dụng trong quá trình chuyển.

mMetaData

ReferencedTLVData mMetaData

Siêu dữ liệu TLV không bắt buộc.

mMetaDataAppState

void * mMetaDataAppState

Trạng thái ứng dụng không bắt buộc đối với siêu dữ liệu TLV.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Hàm không bắt buộc để ghi siêu dữ liệu TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

Đúng nếu chúng tôi có thể hỗ trợ ổ đĩa nhận.

mSenderDriveSupported

bool mSenderDriveSupported

Đúng nếu chúng tôi có thể hỗ trợ bộ nhớ của người gửi.

mStartOffset

uint64_t mStartOffset

Mức chênh lệch bắt đầu đề xuất của dữ liệu.

mStartOffsetPresent

bool mStartOffsetPresent

Đúng nếu có trường bù trừ bắt đầu.

mVersion

uint8_t mVersion

Phiên bản của giao thức BDX mà chúng tôi đã quyết định.

mWideRange

bool mWideRange

"True" nếu độ lệch và độ dài là 64 bit.

Hàm công khai

SendInit

 SendInit(
  void
)

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Khởi chạy SendInit "rộng".

Thông tin chi tiết
Các tham số
[in] aVersion
Phiên bản BDX mà chúng tôi đang sử dụng
[in] aSenderDrive
Đúng nếu người gửi đang lái xe
[in] aReceiverDrive
Đúng nếu người nhận đang lái xe
[in] aAsynchMode
Đúng nếu thiết bị hỗ trợ chế độ không đồng bộ
[in] aMaxBlockSize
Đề xuất cho kích thước khối tối đa cho quá trình chuyển này
[in] aStartOffset
Độ lệch bắt đầu trong tệp mà chúng ta nên bắt đầu
[in] aLength
Độ dài của tệp cần chuyển - 0 có nghĩa là tệp có độ dài vô hạn
[in] aFileDesignator
Một chuỗi xác định dữ liệu cần được chuyển
[in] aMetaData
(không bắt buộc) Dữ liệu bổ sung ở định dạng TLV
Trả về
WEAVE_NO_ERROR nếu thành công

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Khởi chạy SendInit "không rộng" (độ lệch bắt đầu 32 bit, độ dài 32 bit)

Thông tin chi tiết
Các tham số
[in] aVersion
Phiên bản BDX mà chúng tôi đang sử dụng
[in] aSenderDrive
Đúng nếu người gửi đang lái xe
[in] aReceiverDrive
Đúng nếu người nhận đang lái xe
[in] aAsynchMode
Đúng nếu thiết bị hỗ trợ chế độ không đồng bộ
[in] aMaxBlockSize
Đề xuất cho kích thước khối tối đa cho quá trình chuyển này
[in] aStartOffset
Độ lệch bắt đầu trong tệp mà chúng ta nên bắt đầu
[in] aLength
Độ dài của tệp cần chuyển - 0 có nghĩa là tệp có độ dài vô hạn
[in] aFileDesignator
Một chuỗi xác định dữ liệu cần được chuyển
[in] aMetaData
(không bắt buộc) Dữ liệu bổ sung ở định dạng TLV
Trả về
WEAVE_NO_ERROR nếu thành công

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Khởi chạy SendInit "rộng".

Thông tin chi tiết
Các tham số
[in] aVersion
Phiên bản BDX mà chúng tôi đang sử dụng
[in] aSenderDrive
Đúng nếu người gửi đang lái xe
[in] aReceiverDrive
Đúng nếu người nhận đang lái xe
[in] aAsynchMode
Đúng nếu thiết bị hỗ trợ chế độ không đồng bộ
[in] aMaxBlockSize
Đề xuất cho kích thước khối tối đa cho quá trình chuyển này
[in] aStartOffset
Độ lệch bắt đầu trong tệp mà chúng ta nên bắt đầu
[in] aLength
Độ dài của tệp cần chuyển - 0 có nghĩa là tệp có độ dài vô hạn
[in] aFileDesignator
Một chuỗi xác định dữ liệu cần được chuyển
[in] aMetaDataWriteCallback
(không bắt buộc) Hàm ghi dữ liệu bổ sung ở định dạng TLV
[in] aMetaDataAppState
Ngữ cảnh không bắt buộc cần được truyền vào aMetaDataWriteCallback
Trả về
WEAVE_NO_ERROR nếu thành công

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Khởi chạy SendInit "không rộng" (độ lệch bắt đầu 32 bit, độ dài 32 bit)

Thông tin chi tiết
Các tham số
[in] aVersion
Phiên bản BDX mà chúng tôi đang sử dụng
[in] aSenderDrive
Đúng nếu người gửi đang lái xe
[in] aReceiverDrive
Đúng nếu người nhận đang lái xe
[in] aAsynchMode
Đúng nếu thiết bị hỗ trợ chế độ không đồng bộ
[in] aMaxBlockSize
Đề xuất cho kích thước khối tối đa cho quá trình chuyển này
[in] aStartOffset
Độ lệch bắt đầu trong tệp mà chúng ta nên bắt đầu
[in] aLength
Độ dài của tệp cần chuyển - 0 có nghĩa là tệp có độ dài vô hạn
[in] aFileDesignator
Một chuỗi xác định dữ liệu cần được chuyển
[in] aMetaDataWriteCallback
(không bắt buộc) Hàm ghi dữ liệu bổ sung ở định dạng TLV
[in] aMetaDataAppState
(không bắt buộc) Ngữ cảnh sẽ được truyền lại vào hàm callback
Trả về
WEAVE_NO_ERROR nếu thành công

toán tử==

bool operator==(
  const SendInit &
) const 

So sánh bình đẳng giữa các thông báo SendInit.

Thông tin chi tiết
Các tham số
[in] another
Một thông báo SendInit khác để so sánh với thông báo này
Trả về
nếu chúng có tất cả các trường giống nhau.

gói

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Đóng gói thông báo khởi tạo để gửi vào một PacketBuffer.

Thông tin chi tiết
Các tham số
[out] aBuffer
Một PacketBuffer để đóng gói thông báo SendInit
Giá trị trả về
WEAVE_NO_ERROR
Nếu thành công
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu bộ đệm quá nhỏ

packedLength

uint16_t packedLength(
  void
)

Trả về thời lượng đóng gói của thông báo gửi init này.

Thông tin chi tiết
Trả về
độ dài của thư khi đóng gói

Hàm tĩnh công khai

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Phân tích cú pháp dữ liệu từ PacketBuffer thành định dạng thông báo SendInit.

Thông tin chi tiết
Các tham số
[in] aBuffer
Con trỏ đến PacketBuffer có dữ liệu mà chúng ta muốn phân tích cú pháp
[out] aRequest
Con trỏ đến đối tượng SendInit nơi chúng ta nên lưu trữ kết quả
Giá trị trả về
WEAVE_NO_ERROR
Nếu thành công
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu bộ đệm quá nhỏ