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
دمج معلومات الرسالة للرسالة
[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 فارغة

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
)