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
ส่งข้อความรายงานสถานะพร้อมรหัสโปรไฟล์ที่เชื่อมโยง รหัสสถานะ และบริบทของ Exchange
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
เชื่อมข้อมูลข้อความสำหรับข้อความ
[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
บริบทของ 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
)

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 มีค่าเป็น NULL

SendStatusReport

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

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

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

SendTransferError

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