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)
เริ่มต้น SendInit "wide"
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)
เริ่มต้น SendInit "wide"
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
แสดงความยาวแพ็กของข้อความ Init ที่ส่งนี้

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

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 (เร็วขึ้นเล็กน้อยเมื่อเริ่มต้นใช้งาน) ฯลฯ ตามความเหมาะสม

ในทุกกรณี ระบบจะถือว่าข้อมูลที่สร้างโดยโค้ดเรียกกลับเป็นค่าคงที่สำหรับ SendInit กล่าวคือ จะไม่เปลี่ยนแปลงไม่ว่าจะมีการเรียกใช้เมื่อใด ทั้งนี้เนื่องจากระบบใช้โค้ดเรียกกลับในการคำนวณความยาวของ 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
)

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

รายละเอียด
พารามิเตอร์
[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
)

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

รายละเอียด
พารามิเตอร์
[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
(ไม่บังคับ) บริบทที่จะส่งคืนไปยังฟังก์ชันเรียกกลับ
การส่งคืน
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 ที่ส่งนี้

รายละเอียด
การส่งคืน
ความยาวของข้อความเมื่อบรรจุแล้ว

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

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

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

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