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

סיכום

פונקציות

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
handler למקרים שבהם החיבור עצמו נסגר.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
לא ניתן יותר להשתמש ב-handler למקרים שבהם המפתח שמשמש להצפנה ולאימות של הודעות ב-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
)

handler למקרים שבהם החיבור עצמו נסגר.

קורא ל-handler של השגיאות בהעברה המשויכת ומשביתים את ההעברה.

פרטים
פרמטרים
[in] anEc
ההקשר של Exchange שזיהה חיבור שנסגר. ניתן למצוא את ה-BDXTransfer המשויך דרך
[in] aCon
החיבור ל-Weave, שלא בשימוש בפועל
[in] aConErr
שגיאה המשויכת לסגירת החיבור

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

לא ניתן יותר להשתמש ב-handler למקרים שבהם המפתח שמשמש להצפנה ולאימות של הודעות ב-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
פרטי הודעה ב-Weve עבור ההודעה
[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
)

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

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

SendTransferError

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