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 chính kết nối bị đóng.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Trình xử lý khi khoá dùng để mã hoá và xác thực thông báo Weave không còn sử dụng được.
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 trê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 gửi một thông báo BlockAckV1 cho lệnh BDXTransfer đã cho.
SendBlockEOFAckV1(BDXTransfer & aXfer)
Hàm này gửi một thông báo BlockEOFAckV1 cho lệnh BDXTransfer đã cho.
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
Hàm này gửi một thông báo BlockQueryV1 cho lệnh BDXTransfer đã cho.
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
Hàm này sẽ 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 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 chính 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 quá trình chuyển.

Thông tin chi tiết
Các tham số
[in] anEc
Ngữ cảnh trao đổi đã phát hiện kết nối đã đó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 khoá dùng để mã hoá và xác thực thông báo Weave không còn sử dụng được.

Thông tin chi tiết
Các tham số
[in] anEc
Ngữ cảnh trao đổi đã phát hiện lỗi quan trọng Chúng tôi có thể tìm thấy tệp BDXTransfer liên quan từ
[in] aKeyErr
Lỗi liên quan đến khoá không 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 trê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, điều phối trình xử lý thích hợp để hành động trên đối tượng này.

Thông tin chi tiết
Các tham số
[in] anEc
Bối cảnh trao đổi trong trường hợp chúng tôi cần
[in] aPktInfo
Không sử dụng, nhưng cần phù hợp với nguyên mẫu hàm
[in] aWeaveMsgInfo
Thông tin về tin nhắn Weave
[in] aProfileId
Mã của hồ sơ chứa thông báo được xác định
[in] aMessageType
Loại thông báo của hồ sơ đó
[in] aPacketBuffer
Chính thư đã đóng gói

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 quá trình 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
Các tham số
[in] anEc
Ngữ cảnh trao đổi mà chúng tôi có thể tìm thấy BDXTransfer từ

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
Các 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 liên quan từ
[in] aSendErr
Lỗi liên quan đến lỗi gửi thư
[in] aMsgCtxt
Ngữ cảnh thông báo tuỳ ý được liên kết với thông báo chưa đượ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 gửi một thông báo BlockAckV1 cho lệnh BDXTransfer đã cho.

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 được chuyển sang bộ đếm tiếp theo.

Thông tin chi tiết
Các tham số
[in] aXfer
BDXTransfer mà chúng tôi đang gửi là một BlockAck.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi gửi thông báo thành công.
WEAVE_ERROR_NO_MEMORY
Nếu không có sẵn PacketBuffers.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

Hàm này gửi một thông báo BlockEOFAckV1 cho lệnh BDXTransfer đã cho.

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

Thông tin chi tiết
Các tham số
[in] aXfer
BDXTransfer mà chúng tôi đang gửi là một BlockEOFAck.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi gửi thông báo thành công.
WEAVE_ERROR_NO_MEMORY
Nếu không có sẵn PacketBuffers.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

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

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

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

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Hàm này sẽ 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
Các tham số
[in] aXfer
BDXTransfer có GetBlockHandler được gọi để nhận khối tiếp theo trước khi gửi khối này bằng ExchangeContext được liên kết
Giá trị trả về
WEAVE_ERROR_INCORRECT_STATE
Nếu GetBlockHandler là 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 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
Các tham số
[in] anEc
Ngữ cảnh trao đổi mà 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
)