จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

nl::Weave::โปรไฟล์::BDX_ Developmentment::BdxProtocol

สรุป

ฟังก์ชัน

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
เครื่องจัดการสําหรับเมื่อปิดการเชื่อมต่อ
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
เครื่องจัดการเมื่อคีย์ที่ใช้เข้ารหัสและตรวจสอบสิทธิ์ข้อความ Weave ใช้งานไม่ได้แล้ว
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
เครื่องจัดการหลักสําหรับข้อความที่มาจากการแลกเปลี่ยน BDX
HandleResponseNotAccepted(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseReceive(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseTimeout(ExchangeContext *anEc)
void
เครื่องจัดการสําหรับเมื่อเราหมดเวลารอการตอบกลับ
HandleResponseTransmit(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError(ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
เครื่องจัดการในกรณีที่ข้อความ WRMP ที่เราส่งไม่ได้รับการยอมรับ
InitBdxReceive(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
SendBadBlockCounterStatusReport(BDXTransfer & aXfer)
SendBlockAckV1(BDXTransfer & aXfer)
ฟังก์ชันนี้จะส่งข้อความ BlockAckV1 สําหรับ BDXTransfer ที่ระบุ
SendBlockEOFAckV1(BDXTransfer & aXfer)
ฟังก์ชันนี้จะส่งข้อความ BlockEOFAckV1 สําหรับ BDXTransfer ที่ระบุ
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
ฟังก์ชันนี้จะส่งข้อความ BlockQueryV1 สําหรับ BDXtransfer
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
ฟังก์ชันนี้จะส่ง BlockSendV1 ถัดไปที่ดึงโดยเรียก BDXtransfer's GetBlockHandler
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
ส่งข้อความรายงานสถานะที่มีรหัสโปรไฟล์ รหัสสถานะ และบริบท Exchange ที่เกี่ยวข้อง
SendTransferError(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

ฟังก์ชัน

แฮนเดิลการเชื่อมต่อแบบปิด

void HandleConnectionClosed(
  ExchangeContext *anEc,
  WeaveConnection *aCon,
  WEAVE_ERROR aConErr
)

เครื่องจัดการสําหรับเมื่อปิดการเชื่อมต่อ

เรียกเครื่องจัดการข้อผิดพลาดที่เชื่อมโยง ##99 ที่เกี่ยวข้องและปิดการโอน

รายละเอียด
พารามิเตอร์
[in] anEc
บริบทการแลกเปลี่ยนที่ตรวจพบการเชื่อมต่อแบบปิด เราจะหา BDXtransfer ที่เกี่ยวข้องจาก
[in] aCon
การเชื่อมต่อ Weave ที่ไม่ได้ใช้ในฟังก์ชันจริง
[in] aConErr
ข้อผิดพลาดที่เกี่ยวข้องกับการปิดการเชื่อมต่อ

ข้อผิดพลาดแฮนเดิลคีย์

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

เครื่องจัดการเมื่อคีย์ที่ใช้เข้ารหัสและตรวจสอบสิทธิ์ข้อความ Weave ใช้งานไม่ได้แล้ว

รายละเอียด
พารามิเตอร์
[in] anEc
บริบทของ Exchange ที่ตรวจพบข้อผิดพลาดหลัก เราพบ BDXtransfer ที่เกี่ยวข้องจาก
[in] aKeyErr
ข้อผิดพลาดที่เชื่อมโยงกับคีย์ใช้ไม่ได้อีกต่อไป

การตอบกลับ

void HandleResponse(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

เครื่องจัดการหลักสําหรับข้อความที่มาจากการแลกเปลี่ยน BDX

โดยพื้นฐานแล้วจะทําหน้าที่เหมือนเราเตอร์ในการแตกข้อมูลส่วนหัว BDX ที่เหมาะสม รวมทั้งส่งข้อมูลเครื่องจัดการที่เหมาะสมเพื่อดําเนินการกับออบเจ็กต์นี้

รายละเอียด
พารามิเตอร์
[in] anEc
บริบทของการแลกเปลี่ยนในกรณีที่เราต้องการ
[in] aPktInfo
ไม่ได้ใช้ แต่ต้องตรงกับต้นแบบฟังก์ชัน
[in] aWeaveMsgInfo
สร้างข้อมูลข้อความสําหรับข้อความ
[in] aProfileId
รหัสของโปรไฟล์ที่มีการกําหนดข้อความ
[in] aMessageType
ประเภทข้อความของโปรไฟล์นั้น
[in] aPacketBuffer
ข้อความบรรจุในแพ็ก

ไม่ยอมรับ HandleResponse

WEAVE_ERROR HandleResponseNotAccepted(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponse รับ

WEAVE_ERROR HandleResponseReceive(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

แฮนเดิลการตอบกลับระยะหมดเวลา

void HandleResponseTimeout(
  ExchangeContext *anEc
)

เครื่องจัดการสําหรับเมื่อเราหมดเวลารอการตอบกลับ

ปิดการโอนที่หมดเวลาและเรียกใช้เครื่องจัดการการโอนที่โอน

รายละเอียด
พารามิเตอร์
[in] anEc
บริบทของการแลกเปลี่ยนที่เราพบ BDXTransfer จาก

เครื่องจัดการการตอบกลับ

WEAVE_ERROR HandleResponseTransmit(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

ข้อผิดพลาดการจัดการ

void HandleSendError(
  ExchangeContext *anEc,
  WEAVE_ERROR aSendErr,
  void *aMsgCtxt
)

เครื่องจัดการในกรณีที่ข้อความ WRMP ที่เราส่งไม่ได้รับการยอมรับ

รายละเอียด
พารามิเตอร์
[in] anEc
บริบทของ Exchange ที่มีข้อความที่ยังไม่ได้ตอบรับ เราพบ BDXtransfer ที่เกี่ยวข้องจาก
[in] aSendErr
ข้อผิดพลาดที่เกี่ยวข้องกับความล้มเหลวของการส่งข้อความ
[in] aMsgCtxt
บริบทของข้อความที่กําหนดเองซึ่งเชื่อมโยงกับข้อความที่ยังไม่ได้รับทราบ

InitBdxReceive

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

SendBadBlockCounterStatus

WEAVE_ERROR SendBadBlockCounterStatusReport(
  BDXTransfer & aXfer
)

SendBlockAckV1

WEAVE_ERROR SendBlockAckV1(
  BDXTransfer & aXfer
)

ฟังก์ชันนี้จะส่งข้อความ BlockAckV1 สําหรับ BDXTransfer ที่ระบุ

หมายเลขบล็อกที่ยอมรับเท่ากับ aXfer.mBlockCounter - 1 เนื่องจากฟังก์ชันนี้อาจเรียกใช้ได้หลังจากสถานะการโอนเปลี่ยนเป็นตัวนับถัดไปเท่านั้น

รายละเอียด
พารามิเตอร์
[in] aXfer
BDXtransfer ที่เราจะส่ง BlockAck ให้
แสดงผลค่า
WEAVE_NO_ERROR
หากเราส่งข้อความสําเร็จ
WEAVE_ERROR_NO_MEMORY
หากไม่มีแพ็กเก็ตบุฟเฟต์

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

ฟังก์ชันนี้จะส่งข้อความ BlockEOFAckV1 สําหรับ BDXTransfer ที่ระบุ

หมายเลขบล็อกที่ยอมรับจะเท่ากับ aXfer.mBlockCounter

รายละเอียด
พารามิเตอร์
[in] aXfer
BDXTransfer ที่เราจะส่งให้ BlockEOFAck
แสดงผลค่า
WEAVE_NO_ERROR
หากเราส่งข้อความสําเร็จ
WEAVE_ERROR_NO_MEMORY
หากไม่มีแพ็กเก็ตบุฟเฟต์

ส่งข้อความค้นหา

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

ส่ง BlockBlockV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

ฟังก์ชันนี้จะส่งข้อความ BlockQueryV1 สําหรับ BDXtransfer

หมายเลขบล็อกที่ขอจะเท่ากับ aXfer.mBlockCounter

รายละเอียด
พารามิเตอร์
[in] aXfer
BDXTransfer ที่เราจะส่ง BlockQuery ให้
แสดงผลค่า
WEAVE_NO_ERROR
หากเราส่งข้อความสําเร็จ
WEAVE_ERROR_NO_MEMORY
หากไม่มีแพ็กเก็ตบุฟเฟต์

ส่ง NextBlockBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

ส่งบล็อกถัดไปV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

ฟังก์ชันนี้จะส่ง BlockSendV1 ถัดไปที่ดึงโดยเรียก BDXtransfer's GetBlockHandler

รายละเอียด
พารามิเตอร์
[in] aXfer
BDXTransfer ที่มีการเรียก GetBlockHandler เพื่อรับบล็อกถัดไปก่อนส่งโดยใช้ ExchangeContext ที่เกี่ยวข้อง
แสดงผลค่า
WEAVE_ERROR_INCORRECT_STATE
หาก GetBlockHandler มีค่าเป็น NULL

รายงานสถานะ

void SendStatusReport(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)

ส่งข้อความรายงานสถานะที่มีรหัสโปรไฟล์ รหัสสถานะ และบริบท Exchange ที่เกี่ยวข้อง

รายละเอียด
พารามิเตอร์
[in] anEc
บริบทการแลกเปลี่ยนที่เราควรส่งข้อความรายงานสถานะ
[in] aProfileId
รหัสโปรไฟล์
[in] aStatusCode
รหัสที่เชื่อมโยงกับข้อผิดพลาดในการโอน

ข้อผิดพลาดในการส่ง

void SendTransferError(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)