nl::Weave::Profiles::BDX_Development::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 ถัดไปที่เรียกโดยการเรียกใช้ GetBlockHandler ของ BDXTransfer
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
ส่งข้อความรายงานสถานะที่มีรหัสโปรไฟล์ที่เกี่ยวข้อง รหัสสถานะ และบริบทการแลกเปลี่ยน
SendTransferError(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

ฟังก์ชัน

HandleConnectionClosed

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

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

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

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

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

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

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

HandleResponse

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
Weave Message ข้อมูลสำหรับข้อความ
[in] aProfileId
รหัสของโปรไฟล์ที่ระบุข้อความ
[in] aMessageType
ประเภทข้อความของโปรไฟล์นั้น
[in] aPacketBuffer
ข้อความที่แพ็คไว้

HandleResponseNotAccepted

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

HandleResponseReceive

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

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *anEc
)

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

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

รายละเอียด
พารามิเตอร์
[in] anEc
บริบท Exchange ซึ่งเราสามารถค้นหา BDXTransfer ได้

HandleResponseTransmit

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

HandleSendError

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

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

รายละเอียด
พารามิเตอร์
[in] anEc
บริบทการแลกเปลี่ยนที่มีข้อความที่ไม่ได้รับการตอบรับ เราค้นหา 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
)

SendBadBlockCounterStatusReport

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
หากไม่มี PacketBuffers ที่ใช้ได้

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

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

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

รายละเอียด
พารามิเตอร์
[in] aXfer
BDXTransfer ที่เราส่ง BlockEOFAck
ผลลัพธ์
WEAVE_NO_ERROR
หากเราส่งข้อความสำเร็จ
WEAVE_ERROR_NO_MEMORY
หากไม่มี PacketBuffers ที่ใช้ได้

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

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

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

รายละเอียด
พารามิเตอร์
[in] aXfer
BDXTransfer ที่เราส่ง BlockQuery
ผลลัพธ์
WEAVE_NO_ERROR
หากเราส่งข้อความสำเร็จ
WEAVE_ERROR_NO_MEMORY
หากไม่มี PacketBuffers ที่ใช้ได้

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

ฟังก์ชันนี้จะส่ง BlockSendV1 ถัดไปที่เรียกโดยการเรียกใช้ GetBlockHandler ของ BDXTransfer

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

SendStatusReport

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

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

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

SendTransferError

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