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, ושליחת ה-handler המתאים כך שיפעל על האובייקט הזה.

פרטים
פרמטרים
[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
)

מטפל במקרים שבהם אנחנו ממתינים לתשובה בזמן שאנחנו ממתינים לתשובה.

מכבה את ההעברה שפג הזמן הקצוב לתפוגה ומבצע קריאה ל-handler של השגיאות בהעברה.

פרטים
פרמטרים
[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
)

שולחת הודעה של דוח הסטטוס עם מזהה הפרופיל המשויך, קוד הסטטוס והקשר ההחלפה.

פרטים
פרמטרים
[in] anEc
ההקשר של ההחלפה שאליו צריך לשלוח את ההודעה של דוח הסטטוס
[in] aProfileId
מזהה פרופיל
[in] aStatusCode
הקוד שמשויך לשגיאה בהעברה

SendTransferError

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