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

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

ข้อความ SendInit จะใช้ในการเริ่มต้นการแลกเปลี่ยนเมื่อผู้ส่งเป็นผู้เริ่ม

สรุป

การสืบทอด

คลาสย่อยที่รู้จักโดยตรง: nl::Weave::Profiles::BDX_Development::ReceiveInit

ผู้ผลิตและผู้ทำลาย

SendInit(void)

ประเภทสาธารณะ

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) Typedef
MetaDataTLVWriteCallback จะระบุวิธีการให้ไคลเอ็นต์ระบุข้อมูลข้อมูลเมตาที่ต้องการใน SendInit

แอตทริบิวต์สาธารณะ

mAsynchronousModeSupported
bool
เป็นจริงหากเรารองรับโหมดอะซิงโครนัสได้
mDefiniteLength
bool
เป็นจริงหากมีช่องความยาว
mFileDesignator
สตริงที่มีข้อมูลที่เจรจาไว้ล่วงหน้า
mLength
uint64_t
ความยาวของข้อมูลที่เสนอในการโอน 0 หมายถึงไม่จำกัด
mMaxBlockSize
uint16_t
ขนาดบล็อกสูงสุดที่เสนอเพื่อใช้ในการโอน
mMetaData
ข้อมูลเมตา TLV (ไม่บังคับ)
mMetaDataAppState
void *
สถานะแอปที่ไม่บังคับสำหรับข้อมูลเมตา TLV
mMetaDataWriteCallback
ฟังก์ชันที่ไม่บังคับสำหรับเขียนข้อมูลเมตา TLV
mReceiverDriveSupported
bool
จริง หากเรารองรับไดรฟ์ตัวรับได้
mSenderDriveSupported
bool
จริง หากเรารองรับไดรฟ์ของผู้ส่ง
mStartOffset
uint64_t
ออฟเซ็ตเริ่มต้นของข้อมูลที่เสนอ
mStartOffsetPresent
bool
เป็นจริงหากมีฟิลด์ออฟเซ็ตเริ่มต้น
mVersion
uint8_t
เวอร์ชันของโปรโตคอล BDX ที่เราเลือกใช้
mWideRange
bool
เป็นจริงหากออฟเซ็ตและความยาวเป็น 64 บิต

ฟังก์ชันสาธารณะ

init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
เริ่มต้น "wide" SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
เริ่มต้น "ไม่ใช่แบบกว้าง" SendInit (ออฟเซ็ตเริ่มต้น 32 บิต ความยาว 32 บิต)
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)
เริ่มต้น "wide" SendInit.
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)
เริ่มต้น "ไม่ใช่แบบกว้าง" SendInit (ออฟเซ็ตเริ่มต้น 32 บิต ความยาว 32 บิต)
operator==(const SendInit &) const
bool
การเปรียบเทียบความเท่าเทียมกันระหว่างข้อความ SendInit
pack(PacketBuffer *aBuffer)
แพ็กข้อความ init ที่ส่งลงใน PacketBuffer
packedLength(void)
uint16_t
แสดงความยาวที่แพ็คของข้อความเริ่มต้นนี้

ฟังก์ชันสาธารณะแบบคงที่

parse(PacketBuffer *aBuffer, SendInit & aRequest)
แยกวิเคราะห์ข้อมูลจาก PacketBuffer เป็นรูปแบบข้อความ SendInit

ประเภทสาธารณะ

MetaDataTLVWriteCallback

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

MetaDataTLVWriteCallback จะระบุวิธีการให้ไคลเอ็นต์ระบุข้อมูลข้อมูลเมตาที่ต้องการใน SendInit

ไคลเอ็นต์จะจัดหา TLV ที่เข้ารหัสล่วงหน้า (เร็วกว่า) เข้ารหัสทันที (ใช้หน่วยความจำน้อยลง) การเข้ารหัสแบบ Lazy Loading (เร็วขึ้นเล็กน้อยเมื่อเริ่มต้นใช้งาน) และอื่นๆ ตามความเหมาะสม

ในทุกกรณี จะมีการสันนิษฐานว่าข้อมูลที่สร้างโดย Callback เป็นค่าคงที่สำหรับ SendInit ที่ระบุ กล่าวคือไม่มีการเปลี่ยนแปลงไม่ว่าจะมีการเรียกใช้เมื่อใด ทั้งนี้เนื่องจาก Callback ยังใช้ในการคำนวณความยาวของ TLV ที่ถูกตัดออกด้วย ซึ่งอาจขอได้ทุกเมื่อ

รายละเอียด
พารามิเตอร์
[in] aBuffer
บัฟเฟอร์ปลายทาง ซึ่งเขียน TLV บางรายการได้
[in] aBufferLength
ความยาว (เป็นไบต์) ของบัฟเฟอร์ปลายทาง
[in,out] aNumBytesWritten
จำนวนไบต์ที่เขียนไปยังบัฟเฟอร์ปลายทาง
[in] aAppState
สถานะแอปที่ได้จากผู้ใช้
ผลลัพธ์
WEAVE_ERROR
พบข้อผิดพลาดใดๆ

แอตทริบิวต์สาธารณะ

mAsynchronousModeSupported

bool mAsynchronousModeSupported

เป็นจริงหากเรารองรับโหมดอะซิงโครนัสได้

mDefiniteLength

bool mDefiniteLength

เป็นจริงหากมีช่องความยาว

mFileDesignator

ReferencedString mFileDesignator

สตริงที่มีข้อมูลที่เจรจาไว้ล่วงหน้า

mLength

uint64_t mLength

ความยาวของข้อมูลที่เสนอในการโอน 0 หมายถึงไม่จำกัด

mMaxBlockSize

uint16_t mMaxBlockSize

ขนาดบล็อกสูงสุดที่เสนอเพื่อใช้ในการโอน

mMetaData

ReferencedTLVData mMetaData

ข้อมูลเมตา TLV (ไม่บังคับ)

mMetaDataAppState

void * mMetaDataAppState

สถานะแอปที่ไม่บังคับสำหรับข้อมูลเมตา TLV

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

ฟังก์ชันที่ไม่บังคับสำหรับเขียนข้อมูลเมตา TLV

mReceiverDriveSupported

bool mReceiverDriveSupported

จริง หากเรารองรับไดรฟ์ตัวรับได้

mSenderDriveSupported

bool mSenderDriveSupported

จริง หากเรารองรับไดรฟ์ของผู้ส่ง

mStartOffset

uint64_t mStartOffset

ออฟเซ็ตเริ่มต้นของข้อมูลที่เสนอ

mStartOffsetPresent

bool mStartOffsetPresent

เป็นจริงหากมีฟิลด์ออฟเซ็ตเริ่มต้น

mVersion

uint8_t mVersion

เวอร์ชันของโปรโตคอล BDX ที่เราเลือกใช้

mWideRange

bool mWideRange

เป็นจริงหากออฟเซ็ตและความยาวเป็น 64 บิต

ฟังก์ชันสาธารณะ

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
)

เริ่มต้น "wide" SendInit.

รายละเอียด
พารามิเตอร์
[in] aVersion
เวอร์ชันของ BDX ที่เราใช้
[in] aSenderDrive
จริงหากผู้ส่งกำลังขับรถ
[in] aReceiverDrive
เป็นจริงหากผู้รับกำลังขับรถ
[in] aAsynchMode
เป็นจริงหากอุปกรณ์รองรับโหมดอะซิงโครนัส
[in] aMaxBlockSize
ข้อเสนอขนาดสูงสุดของการบล็อกสำหรับการโอนนี้
[in] aStartOffset
ออฟเซ็ตเริ่มต้นในไฟล์ที่เราควรเริ่ม
[in] aLength
ความยาวของไฟล์ที่จะโอน - 0 หมายความว่าไฟล์มีความยาวไม่จำกัด
[in] aFileDesignator
สตริงที่ระบุข้อมูลที่จะโอน
[in] aMetaData
(ไม่บังคับ) ข้อมูลเพิ่มเติมในรูปแบบ TLV
การคืนสินค้า
WEAVE_NO_ERROR หากสำเร็จ

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
)

เริ่มต้น "ไม่ใช่แบบกว้าง" SendInit (ออฟเซ็ตเริ่มต้น 32 บิต ความยาว 32 บิต)

รายละเอียด
พารามิเตอร์
[in] aVersion
เวอร์ชันของ BDX ที่เราใช้
[in] aSenderDrive
จริงหากผู้ส่งกำลังขับรถ
[in] aReceiverDrive
เป็นจริงหากผู้รับกำลังขับรถ
[in] aAsynchMode
เป็นจริงหากอุปกรณ์รองรับโหมดอะซิงโครนัส
[in] aMaxBlockSize
ข้อเสนอขนาดสูงสุดของการบล็อกสำหรับการโอนนี้
[in] aStartOffset
ออฟเซ็ตเริ่มต้นในไฟล์ที่เราควรเริ่ม
[in] aLength
ความยาวของไฟล์ที่จะโอน - 0 หมายความว่าไฟล์มีความยาวไม่จำกัด
[in] aFileDesignator
สตริงที่ระบุข้อมูลที่จะโอน
[in] aMetaData
(ไม่บังคับ) ข้อมูลเพิ่มเติมในรูปแบบ TLV
การคืนสินค้า
WEAVE_NO_ERROR หากสำเร็จ

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
)

เริ่มต้น "wide" SendInit.

รายละเอียด
พารามิเตอร์
[in] aVersion
เวอร์ชันของ BDX ที่เราใช้
[in] aSenderDrive
จริงหากผู้ส่งกำลังขับรถ
[in] aReceiverDrive
เป็นจริงหากผู้รับกำลังขับรถ
[in] aAsynchMode
เป็นจริงหากอุปกรณ์รองรับโหมดอะซิงโครนัส
[in] aMaxBlockSize
ข้อเสนอขนาดสูงสุดของการบล็อกสำหรับการโอนนี้
[in] aStartOffset
ออฟเซ็ตเริ่มต้นในไฟล์ที่เราควรเริ่ม
[in] aLength
ความยาวของไฟล์ที่จะโอน - 0 หมายความว่าไฟล์มีความยาวไม่จำกัด
[in] aFileDesignator
สตริงที่ระบุข้อมูลที่จะโอน
[in] aMetaDataWriteCallback
(ไม่บังคับ) ฟังก์ชันสำหรับเขียนข้อมูลเพิ่มเติมในรูปแบบ TLV
[in] aMetaDataAppState
บริบทที่ไม่บังคับซึ่งส่งผ่านไปยัง aMetaDataWriteCallback
การคืนสินค้า
WEAVE_NO_ERROR หากสำเร็จ

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
)

เริ่มต้น "ไม่ใช่แบบกว้าง" SendInit (ออฟเซ็ตเริ่มต้น 32 บิต ความยาว 32 บิต)

รายละเอียด
พารามิเตอร์
[in] aVersion
เวอร์ชันของ BDX ที่เราใช้
[in] aSenderDrive
จริงหากผู้ส่งกำลังขับรถ
[in] aReceiverDrive
เป็นจริงหากผู้รับกำลังขับรถ
[in] aAsynchMode
เป็นจริงหากอุปกรณ์รองรับโหมดอะซิงโครนัส
[in] aMaxBlockSize
ข้อเสนอขนาดสูงสุดของการบล็อกสำหรับการโอนนี้
[in] aStartOffset
ออฟเซ็ตเริ่มต้นในไฟล์ที่เราควรเริ่ม
[in] aLength
ความยาวของไฟล์ที่จะโอน - 0 หมายความว่าไฟล์มีความยาวไม่จำกัด
[in] aFileDesignator
สตริงที่ระบุข้อมูลที่จะโอน
[in] aMetaDataWriteCallback
(ไม่บังคับ) ฟังก์ชันสำหรับเขียนข้อมูลเพิ่มเติมในรูปแบบ TLV
[in] aMetaDataAppState
(ไม่บังคับ) บริบทที่จะแสดงผลในฟังก์ชัน Callback
การคืนสินค้า
WEAVE_NO_ERROR หากสำเร็จ

โอเปอเรเตอร์==

bool operator==(
  const SendInit &
) const 

การเปรียบเทียบความเท่าเทียมกันระหว่างข้อความ SendInit

รายละเอียด
พารามิเตอร์
[in] another
ข้อความ SendInit อีกข้อความเพื่อเปรียบเทียบระหว่างนี้
การคืนสินค้า
จริง หากมีฟิลด์เหมือนกันทั้งหมด

แพ็ก

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

แพ็กข้อความ init ที่ส่งลงใน PacketBuffer

รายละเอียด
พารามิเตอร์
[out] aBuffer
PacketBuffer เพื่อแพ็คข้อความ SendInit ใน
ผลลัพธ์
WEAVE_NO_ERROR
หากสำเร็จ
WEAVE_ERROR_BUFFER_TOO_SMALL
หากบัฟเฟอร์มีขนาดเล็กเกินไป

packedLength

uint16_t packedLength(
  void
)

แสดงความยาวที่แพคของการส่งข้อความ init นี้

รายละเอียด
การคืนสินค้า
ความยาวของข้อความเมื่อแพ็ค

ฟังก์ชันสาธารณะแบบคงที่

แยกวิเคราะห์

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

แยกวิเคราะห์ข้อมูลจาก PacketBuffer เป็นรูปแบบข้อความ SendInit

รายละเอียด
พารามิเตอร์
[in] aBuffer
ชี้ไปที่ PacketBuffer ซึ่งมีข้อมูลที่เราต้องการแยกวิเคราะห์ออก
[out] aRequest
ชี้ไปที่ออบเจ็กต์ SendInit ที่เราควรจัดเก็บผลลัพธ์
ผลลัพธ์
WEAVE_NO_ERROR
หากสำเร็จ
WEAVE_ERROR_BUFFER_TOO_SMALL
หากบัฟเฟอร์มีขนาดเล็กเกินไป