nl::Weave::Profiles::BDX_Development::BdxProtocol

Tóm tắt

Hàm

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Trình xử lý khi bản thân kết nối bị đóng.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Trình xử lý khi không còn sử dụng được khoá dùng để mã hoá và xác thực thông báo Weave.
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
Trình xử lý chính cho các tin nhắn đến sàn giao dịch 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
Trình xử lý khi chúng ta hết thời gian chờ phản hồi.
HandleResponseTransmit(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError(ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
Trình xử lý khi thông báo WRMP mà chúng tôi đã gửi chưa được xác nhận.
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)
Hàm này sẽ gửi một thông báo BlockAckV1 cho BDXTransfer cụ thể.
SendBlockEOFAckV1(BDXTransfer & aXfer)
Hàm này sẽ gửi một thông báo BlockEOFAckV1 cho BDXTransfer cụ thể.
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
Hàm này sẽ gửi một thông báo BlockQueryV1 cho BDXTransfer đã cho.
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
Hàm này gửi BlockSendV1 tiếp theo được truy xuất bằng cách gọi GetBlockHandler của BDXTransfer.
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
Gửi thông báo báo cáo trạng thái cùng với id hồ sơ được liên kết, mã trạng thái và ngữ cảnh trao đổi.
SendTransferError(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

Hàm

HandleConnectionClosed

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

Trình xử lý khi bản thân kết nối bị đóng.

Gọi trình xử lý lỗi của yêu cầu chuyển được liên kết và tắt yêu cầu chuyển.

Thông tin chi tiết
Tham số
[in] anEc
Ngữ cảnh trao đổi đã phát hiện một kết nối bị đóng Chúng tôi có thể tìm thấy BDXTransfer được liên kết từ
[in] aCon
Kết nối Weave, không được sử dụng trong hàm thực tế
[in] aConErr
Lỗi liên quan đến việc đóng kết nối

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

Trình xử lý khi không còn sử dụng được khoá dùng để mã hoá và xác thực thông báo Weave.

Thông tin chi tiết
Tham số
[in] anEc
Ngữ cảnh trao đổi đã phát hiện thấy một lỗi quan trọng Chúng tôi có thể tìm thấy BDXTransfer được liên kết từ
[in] aKeyErr
Lỗi liên quan đến việc khoá không còn sử dụng được nữa

HandleResponse

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

Trình xử lý chính cho các tin nhắn đến sàn giao dịch BDX.

Về cơ bản, nó hoạt động như một bộ định tuyến để trích xuất thông tin và dữ liệu tiêu đề BDX thích hợp, gửi bộ xử lý thích hợp để hành động trên đối tượng này.

Thông tin chi tiết
Tham số
[in] anEc
Ngữ cảnh trao đổi trong trường hợp chúng ta cần
[in] aPktInfo
Không sử dụng, nhưng cần khớp với nguyên mẫu hàm
[in] aWeaveMsgInfo
Đan thông tin về thông báo cho thông báo
[in] aProfileId
Mã của cấu hình mà thông báo được xác định theo đó
[in] aMessageType
Loại thông báo của hồ sơ đó
[in] aPacketBuffer
Chính thông điệp được gói gọn

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
)

Trình xử lý khi chúng ta hết thời gian chờ phản hồi.

Tắt yêu cầu chuyển đã hết thời gian chờ và gọi trình xử lý lỗi của quá trình chuyển.

Thông tin chi tiết
Tham số
[in] anEc
Ngữ cảnh trao đổi mà chúng ta có thể tìm thấy 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
)

Trình xử lý khi thông báo WRMP mà chúng tôi đã gửi chưa được xác nhận.

Thông tin chi tiết
Tham số
[in] anEc
Ngữ cảnh trao đổi có thông báo chưa được xác nhận Chúng tôi có thể tìm thấy BDXTransfer được liên kết từ đây
[in] aSendErr
Lỗi liên quan đến lỗi gửi thư
[in] aMsgCtxt
Ngữ cảnh tin nhắn tuỳ ý được liên kết với tin nhắn không được xác nhận.

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
)

Hàm này sẽ gửi một thông báo BlockAckV1 cho BDXTransfer cụ thể.

Số khối được xác nhận bằng aXfer.mBlockCounter - 1 vì hàm này chỉ có thể được gọi sau khi trạng thái chuyển chuyển sang bộ đếm tiếp theo.

Thông tin chi tiết
Tham số
[in] aXfer
BDXTransfer mà chúng tôi gửi BlockAck.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi gửi thư thành công.
WEAVE_ERROR_NO_MEMORY
Nếu không có PacketBuffers.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

Hàm này sẽ gửi một thông báo BlockEOFAckV1 cho BDXTransfer cụ thể.

Số khối được xác nhận bằng aXfer.mBlockCounter.

Thông tin chi tiết
Tham số
[in] aXfer
BDXTransfer mà chúng tôi gửi BlockEOFAck.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi gửi thư thành công.
WEAVE_ERROR_NO_MEMORY
Nếu không có PacketBuffers.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

Hàm này sẽ gửi một thông báo BlockQueryV1 cho BDXTransfer đã cho.

Số khối được yêu cầu bằng aXfer.mBlockCounter.

Thông tin chi tiết
Tham số
[in] aXfer
BDXTransfer mà chúng tôi đang gửi BlockQuery.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi gửi thư thành công.
WEAVE_ERROR_NO_MEMORY
Nếu không có PacketBuffers.

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Hàm này gửi BlockSendV1 tiếp theo được truy xuất bằng cách gọi GetBlockHandler của BDXTransfer.

Thông tin chi tiết
Tham số
[in] aXfer
BDXTransfer có GetBlockHandler được gọi để lấy khối tiếp theo trước khi gửi bằng ExchangeContext được liên kết
Giá trị trả về
WEAVE_ERROR_INCORRECT_STATE
Nếu GetBlockHandler là giá trị NULL

SendStatusReport

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

Gửi thông báo báo cáo trạng thái cùng với id hồ sơ được liên kết, mã trạng thái và ngữ cảnh trao đổi.

Thông tin chi tiết
Tham số
[in] anEc
Ngữ cảnh trao đổi nơi chúng tôi nên gửi thông báo báo cáo trạng thái
[in] aProfileId
Mã hồ sơ
[in] aStatusCode
Mã liên quan đến lỗi chuyển

SendTransferError

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